将函数放在对象的Value上,然后传给组件执行,实现组件抽象

简介: 代码总是可以解决很多问题,在Coding 时,应该及时重构,将代码中的坏味道及时剔除,为以后业务功能开发解决技术债。

情景

在我们开发中,我们通常需要对某一系列的组件Coding, 但我们是程序员啊,我们怎么能容忍代码重复出现的坏味道呢。所以,对于一些列相同的操作我们就要用到循环处理了。

目标

image

我们需要将底部两个按钮 新建询价采购助手展示出来,并且点击他们的操作后有不同的交互。

coding

对于此情况,我们需要将对两个按钮做抽象,抽象为数组,在render函数里循环执行即可,这里有个地方需要说明一下,我们把事件处理函数也放在了抽象好的对象上,如下

const tools = [
      {
        index: 1,
        image: images.tabs.newEnquiryTool,
        title: '新建询价',
        onPress: () => {
          this.props.controlToolVisible(false)
          Actions.newEnquiry()
        },
      },
      {
        index: 2,
        image: images.tabs.purchaseAsstant,
        title: '采购助手',
        onPress: () => {
          Chatlogin().then(data => {
            if (data) {
              this.props.getAccountInfo(_.get(global.USER_INFO, 'imInfo.mpcAccId'))
                .then(chatInfo => {
                  this.props.controlToolVisible(false)
                  Actions.chat({
                    session: {
                      contactId: 123,
                      name: '31231',
                      sessionType: '0'
                    }
                  })
                })
                .catch(console.error)
            }
          })
        },
      },
    ]

在render函数里我们循环即可实现代码的抽象

{
    tools.map((tool) => (
      <TouchableOpacity style={styles.toolWrapper} key={tool.index} onPress={tool.onPress} >
         <Image source={tool.image} />
         <Text style={styles.text}>{tool.title}</Text>
      </TouchableOpacity>))
}

总结

代码总是可以解决很多问题,在Coding 时,应该及时重构,将代码中的坏味道及时剔除,为以后业务功能开发解决技术债。

目录
相关文章
|
1天前
学习使用如何调用外部函数
学习使用如何调用外部函数
26 8
|
2月前
|
缓存 小程序 数据库
小程序页面之间(传值)传递数据的方法
小程序页面之间(传值)传递数据的方法
|
2月前
|
JavaScript
使用局部上下文创建控制器对象
使用局部上下文创建控制器对象
|
3月前
|
开发框架 前端开发 JavaScript
在各种开发项目中使用公用类库的扩展方法,通过上下文方式快速调用处理函数
在各种开发项目中使用公用类库的扩展方法,通过上下文方式快速调用处理函数
|
4月前
|
前端开发 JavaScript
传递给组件
传递给组件
|
5月前
|
JavaScript 前端开发
js函数:函数是JS的基本组成单元,用于封装代码块以实现特定功能。理解函数的定义、调用和参数传递方式非常重要。具体案例详解
js函数:函数是JS的基本组成单元,用于封装代码块以实现特定功能。理解函数的定义、调用和参数传递方式非常重要。具体案例详解
56 1
|
5月前
|
小程序
子组件调用父组件的方法并传递数据
子组件调用父组件的方法并传递数据
|
5月前
|
小程序
小程序封装组件简单案例,所有小程序适用(传入参数、外抛事件、传入样式)
小程序封装组件简单案例,所有小程序适用(传入参数、外抛事件、传入样式)
87 0
|
5月前
|
JavaScript 前端开发
函数:函数是JS的基本组成单元,用于封装代码块以实现特定功能。理解函数的定义、调用和参数传递方式非常重要。
函数:函数是JS的基本组成单元,用于封装代码块以实现特定功能。理解函数的定义、调用和参数传递方式非常重要。
52 0