react入坑之setState注意事项
2017-12-04 13:42
645 查看
不要直接改变
state直接对组件
state中的属性赋值将不会触发DOM更新,因为React并不知道
state被改变了
state的更新可能是异步的React会一次处理多个对
setState的调用以提高性能,所以调用
setState()时不应当直接基于另外一些来自
state或
props中的属性进行计算,很有可能当前计算的值并不是最终的值,当用于计算的另一些值再次变化后,React并不会刷新DOM(因为没有再次调用
setState())。为了修正这点,React提供另一种调用
setState()函数的方式:传入一个函数,而不是对象
// 错误的用法this.setState({counter: this.state.counter + this.props.increment})// 正确的用法this.setState((prevState, props) => ({ // 接受一个表示前次state的参数和一个当前props的参数counter: prevState.counter + props.increment // 这里实际上是返回了一个对象,是ES6箭头函数的简写}))
setState是对象的合并而不是替换
setState方法是将传入的参数对象或函数返回的对象与现有的
state对象进行合并,非常类似于使用
Object.assign(prevState, newState)的效果
相关文章推荐
- react学习笔记之setState方法注意事项
- 浅谈使用React.setState需要注意的三点
- react语法注意事项
- 关于React setState的实现原理(一)
- Vue.set() this.$set()引发的视图更新思考及注意事项
- SE_stream_set_dynamic_bind和SE_queryinfo_set_dynamic_bind注意事项
- 使用request.setCharacterEncoding("gb2312")解决中文乱码的注意事项
- 使用ES6写react组件的几点注意事项
- GetLastError与SetLastError的使用和注意事项
- T-SQL注意事项(1)——SET NOCOUNT ON的去与留
- xcuserstate/xccheckout/pbxproj/xcworkspace提交注意事项
- React 开发注意事项,注意点
- MFC SetItemText注意事项
- No known class method for selector 'setImage:andName:'错误分析.//删除.h与.m文件时的注意事项
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
- react native setState之后的state值不能立即使用
- 关于AlarmManager的setRepeat使用注意事项
- 关于React setState的实现原理(二)
- Connection.setAutoCommit使用的注意事项
- ViewState的原理,应用场合,注意事项