关于react中数组里的组件渲染问题

在父组件中有一个数组,里面动态添加了几个子组件,每个子组件里都有父组件的state作为props,按理说更新了父组件的state,会触发子组件的componentWillReceiveProps方法,但是实际上却没有,为什么?

阅读 4.1k
1 个回答

我测试了一下是可以的啊。
我在父组件加了个test的state,然后通过props传给子组件,之后在父组件的componentDidMount中更新了一下state,子组件的componentWillReceiveProps方法成功调用并打印出了nextProps

  componentDidMount() {
    setTimeout(() => {
      this.setState({ test: 'b' });
    }, 3000);
  }

  this.state = {
    test: 'a'
  }
    
  <Child testProp={this.state.test} />
  componentWillReceiveProps(nextProps) {
    console.log(nextProps); // testProp: "b"
  }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题