属性 – 我可以更新组件的道具在React.js?

前端之家收集整理的这篇文章主要介绍了属性 – 我可以更新组件的道具在React.js?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在开始使用React.js后,似乎道具是静态的(从父组件传入),而状态根据事件发生变化。但是,我在文档中注意到了 componentWillReceiveProps的引用,其中特别包括此示例:
componentWillReceiveProps: function(nextProps) {
  this.setState({
    likesIncreasing: nextProps.likeCount > this.props.likeCount
  });
}

这似乎暗示属性可以基于nextProps与this.props的比较而在组件上改变。我缺少什么?道具如何变化,或者我错误地知道这是什么名字?

组件不能更新自己的道具,除非它们是数组或对象(即使可能是组件更新其自己的道具是反模式),但是可以更新其状态和子组件的道具。

例如,仪表板具有处于其状态的速度字段,并将其传递给显示该速度的计量器孩子。它的render方法只是返回< Gauge speed = {this.state.speed} /&gt ;.当仪表板调用this.setState({speed:this.state.speed 1})时,将使用新的速度值重新渲染计量器。 就在这之前,Gauge的componentWillReceiveProps被调用,因此Gauge有机会将新值与旧值进行比较。

猜你在找的React相关文章