React利用componentWillReceiveProps(nextProps)实现组件中传值
在我们的项目中大部分都需要将UI组件和功能组件相分离,这样才能在后期更好的维护,但是当我们得到功能组件发送请求通过异步操作来获取数据时,而props父子间传值不能实现。因为在父组件接收到数据之前已经完成了对子组件的传值(为空),然后子组件render后显示未接收到数据。 其实是父组件的state改变但是不会引起子组件的props改变。
而这个componentWillReceiveProps(nextProps)函数可以在子组件render之前更新props。当父组件改变了props传值是他就会触发。
//未使用componentWillReceiveProps
componentWillReceiveProps(nextProps) {
this.setState({
list:nextProps.list
})
}
//使用函数之后成功获取到数据(这里数据是用的mock后台 链接:mock地址)