控件的子控件数据刷新后得到数据还是之前的

来源:12-3 项目打包发布Android应用

人在塔在_0001

2019-01-12

ListView item里面绘制了一个Buttons控件,刷新数据后,Buttons的数据来源改变了。Buttons里面通过属性得到数据还是上一次的数据,需要再刷新一次,才能正常显示想要的数据。

react native 里面componentWillReceiveProps() 没有参数(react componentWillReceiveProps(nextProps))

写回答

2回答

CrazyCodeBoy

2019-01-14

componentWillReceiveProps在新版React中不能再用了,使用:

static getDerivedStateFromProps(nextProps, prevState)

代替,可参考:

https://github.com/reactjs/rfcs/blob/master/text/0006-static-lifecycle-methods.md


对于老的版本RN:

componentWillReceiveProps(nextProps) {
    this.setFavoriteState(nextProps.projectModel.isFavorite)
}

componentWillReceiveProps有个 nextProps参数,可以debug调试一下这个nextProps是否有值,可参考:https://git.imooc.com/coding-89/coding-89/src/c9011e163baf01eb713ff0824d71b0269c86eb43/js/common/RepositoryCell.js


0
4
人在塔在_0001
非常感谢,十分感谢
2019-01-15
共4条回复

人在塔在_0001

提问者

2019-01-14

ListView中数据改变了,item重新render了,Buttons里面属性数据也改变了,但是Buttons的构造方法没有重新走,直接走的componentWillReceiveProps() 方法,拿不到最新的属性数据

0
0

React Native技术精讲与高质量上线App开发

一个真实的上线项目,一次完整的开发过程,全面掌握React Native技术

1577 学习 · 727 问题

查看课程