热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

react子组件根据父组件数据的改变而改变状态componentWillReceiveProps

问题是这样:父页面的列表上的(子组件)按钮,当父页面上的数据改变时。按钮的disabled的值进行相应的改变。没有什么操

问题是这样:

父页面的列表上的(子组件)按钮,当父页面上的 数据 改变时。按钮的disabled的值进行相应的改变。

没有什么操作的话,你会发现,父页面数据刷新了,但是按钮(子组件)里面的数据,并没有改变。

解决方案:

使用 componentWillReceiveProps 生命周期函数

你想让父页面的哪个值改变而 改变 子组件 的值。在这里使用 nextProps 进行一个数据的实时对应

componentWillReceiveProps(nextProps) {let flg = (nextProps.data.item.patrolStatus != 0 && nextProps.data.item.patrolStatus != 1);//初始化状态this.state.disabled = flg;}

我这里做的是父页面的 item传过来的 patrolStatus 的值 如果为 0,1 进行改变 disabled 的 值。


componentWillReceiveProps :

componentWillReceiveProps :在组件接收到一个新的 prop (更新后)时被调用。这个方法在初始化render时不会被调用。

就是说。父页面数据改变的时候,会调用这个函数。在这里面进行数据的对应。

 


推荐阅读
author-avatar
Karson2012
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有