State和Props的区别

Posted 大盟盟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了State和Props的区别相关的知识,希望对你有一定的参考价值。

1. props是组件对外的接口,用于组件之间的传值,props在组件内部是不可修改,可以看作只读属性。

2. state可以看作组件的私有属性,用于组件内部的数据传递。

3. state可在组件内进行修改,state初始化的地方是在constructor()构建函数中,组件内修改必须使用setState()函数。

4.  说到setState()不得不再啰嗦几句。react的面试面试官经常会问setState()是同步还是异步?既然这么问了那当然是异步啦。

5. setState是异步更新,同步执行,因为react中会将多个setState合并在一起处理,从而提升程序的性能,这就是react高明的其中一点。

6. 所以在编写程序时我们不能依赖于当前的state去计算下一个state。因为异步所以this.state不一定是最新的组件属性值。

7. 对于以上问题是否有解决办法?那肯定有呀。

8. 既然是异步,那肯定就有回调函数,说到回调函数相比大家都知道解决办法啦。

9. 那setState()函数的回调函数在哪呢,这个大家应该都知道,但是我就是想写。

10. setState()函数有两个参数,第一个我就不赘述了,第二个就是它的回调啦。

 this.setState({count:this.state.count+1}, ()=>{
            console.log("count ",this.state.count);
          });
 

以上是关于State和Props的区别的主要内容,如果未能解决你的问题,请参考以下文章

JS每日一题: react中props和state的区别?

[react] react组件的state和props两者有什么区别?

react 生命中期 props state区别 生命周期

React.Component 和 funtion 组件的区别

React之深入理解 Props 和 State

reactReact学习:状态(State) 和 属性(Props)