状态不同的道具

时间:2019-03-02 10:28:38

标签: reactjs react-native

我有一个这样的班级:

enter image description here

然后我从另一个类渲染这个类。 但是我有一些问题。当我尝试使用更改的道具调用组件Screen时-状态不会改变。

这是来自react-tool的屏幕:

enter image description here

我直接从仪表板调用屏幕

enter image description here

道具不同于州。我不知道为什么。

2 个答案:

答案 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