背景:
React代码中,父组件在componentDidMount中初始化各种数据,最后通过this.setState传值给子组件的props,子组件在componentDidMount中读取this.props设置给它的state。但测试时会发现页面初始化时,子组件在componentDidMount中并没有接收到父组件初始化的数据,但此时若打印出子组件的props时,可以看到这里有父组件传递的值。因此猜测应当是父组件setState还未完成时,组件便已完成渲染,子组件的props此时还没有接收到数据。
问题解决:
目前想的方案是在子组件componentDidUpdate方法中将之前的prevProps与当前的this.props比较,如果有变化,则更新到state
React父组件在componetDidMount中传值给子组件问题
于 2023-05-11 23:05:30 首次发布