react中props的值不能改变,为什么重新渲染,nextProps值又与原来不相同呢?新手求解!

react中props的值不能改变,为什么重新渲染,nextProps值又与原来不相同呢?新手求解!

ibeautiful
浏览 2517回答 1
1回答

精慕HU

首先,prop 作为组件对外暴露出去的接口,当外部世界需要给组件传入数据或函数时(props 支持任何 JS 数据类型,所以不只是静态数据),通过 prop 属性传给子组件,组件接收到的 props 已成既定,不能改变,因为react组件应该是纯函数,相同的输入,应该产生相同的输出,其是由数据驱动的(组件外部的数据prop / 组件内部的数据state))。但是外部下一次给子组件传递 prop 时,可能本身就是个变量,比如把自身 state 中某个值,作为属性传给子组件:<ChildComponent value={this.state.value} />下次 re-render 时,从而子组件 nextProps !== this.props以上纯属个人拙见。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript