博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
React开发的小技巧
阅读量:6906 次
发布时间:2019-06-27

本文共 1212 字,大约阅读时间需要 4 分钟。

1、短路写法代替if

// 通过判断值是否存在来控制元素是否显示// 一般三目运算可以达到此效果,部分可以用短路写法代替// 用!!将其转为boolean避免坑const flag = 0;!!flag && 

2、使用es6新特性传递组件props

const {data, type} = this.state;// 一般方法
// es6方法

3、 利用es6 rest 参数(形式为...变量名)传递可变数量的props

// 定义子组件const Demo = ({ prop1, prop2, ...restProps }) => (    
{ restProps.text}
)// 父组件使用Demo

4、setState的其他用法

// 一般改变state值的一种方式const { data } = this.state;this.setState({ data: {...data, key: 1 } });// 另外一种可以通过callback的方式改变state的值this.setState(({ data }) => ({ data: {...data, key: 1 } }));// 还可以this.setState((state, props) => {    return { counter: state.counter + props.step };});

5、React 性能优化

// React 性能优化有很多种方式,// 那常见的一种就是在生命周期函数shouldComponentUpdate里面判断// 某些值或属性来控制组件是否重新再次渲染。// 判断一般的字符串,数字或者基础的对象,数组都还是比较好处理// 那嵌套的对象或者数组就比较麻烦了,对于这种// 推荐使用lodash(或者其他的类似库)的isEqual对嵌套数组或对象进行判断shouldComponentUpdate(nextProps, nextState) {    if (_.isEqual(nextState.columns, this.state.columns)) return false;    return true;}

6、子组件改变父组件的state

// 子组件改变父组件的state方式有很多种,可以在父组件设置一个通用函数,// 类似:setParentState,通过子组件回调处理时,就可以更方便的统一处理// 父组件state = {data: {}};setParentState = obj => {    this.setState(obj);}// 子组件onClick = () => {    this.props.setParentState({ data: xxx });}

转载地址:http://bumdl.baihongyu.com/

你可能感兴趣的文章
thinkphp 3.2.3 计划任务具体实现实例教程
查看>>
php源码解读
查看>>
linux编译ruby1.8.7 出现OPENSSL错误
查看>>
设计模式(五):中介者模式
查看>>
grep(Global Regular Expression Print)
查看>>
WCF学习之旅—WCF服务的批量寄宿(十三)
查看>>
解决“不是有效的win32应用程序”问题
查看>>
安装opencv以及遇到的坑
查看>>
C# 匿名函数
查看>>
MySQL锁系列2 表锁
查看>>
Lua中的closure(闭合函数)
查看>>
一个int类型引发的bug
查看>>
js 片段 - 控制类型为 text 的 input 类型
查看>>
CentOS安装中文支持(linux中文文件名乱码)
查看>>
[原创]ExtAspNet秘密花园(二) — 一切从头开始
查看>>
Delphi 常用控件之TlistView总结
查看>>
QUnit系列 -- 1.介绍单元测试(上)
查看>>
开发API文档相关问题(*.chm)
查看>>
分布拟合——正态/拉普拉斯/对数高斯/瑞利 分布
查看>>
隐藏执行批处理bat文件
查看>>