我有一个这样的班级:
然后我从另一个类渲染这个类。 但是我有一些问题。当我尝试使用更改的道具调用组件Screen时-状态不会改变。
这是来自react-tool的屏幕:
我直接从仪表板调用屏幕:
道具不同于州。我不知道为什么。
答案 0 :(得分:1)
使用props值设置状态不是最佳实践。您应该直接使用道具。
构造函数生命周期在组件加载时仅运行一次
如果在加载组件时数据发生了变化,则应使用适当的生命周期进行更改
componentDidUpdate()在每次更改后运行。在这里,您可以运行setState函数,它将使用新数据更新您的组件。
有关更新生命周期的更多信息: ReactJs componentDidUpdate()
答案 1 :(得分:1)
我认为您可以通过两种方法解决这种情况。 1-您可以在状态下定义goToPage并像使用道具一样使用道具。
this.state = {
gotoPage: props.gotoPage,
page: props.page,
data: props.data
}
要访问该状态,请使用this.state。
2-组件仅具有props,如何使用无状态组件,而组件内部仅使用props.blabla。
https://itnext.io/react-component-class-vs-stateless-component-e3797c7d23ab
:D