加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 07:11:10 所属栏目:百科 来源:网络整理
导读:在开始使用React.js后,似乎道具是静态的(从父组件传入),而状态根据事件发生变化。但是,我在文档中注意到了 componentWillReceiveProps 的引用,其中特别包括此示例: componentWillReceiveProps: function(nextProps) { this.setState({ likesIncreasing:
在开始使用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有机会将新值与旧值进行比较。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读