插入新数据后,如何在 react-native 中重新加载页面,我正在使用 mobx 进行状态管理



我使用这样的代码,它对我来说不起作用

componentWillRecieveProps(nextProps,nextState){
if(nextProps.navigation.state != this.state){
//here calling api
}
}

我认为这个问题应该更加详细,以帮助解决您的问题。根据您的问题,您可能会要求任一

  1. 如果数据发生更改,如何重新加载页面
  2. 导航状态更改时如何重新加载页面

如果数据发生更改,如何重新加载页面

在这种情况下,您不需要添加"componentWillRecieveProps"。你可以简单地在像这样的渲染方法中检查一个值

{data.items.length && <ItemLIstCustomComponent />}

{data.items.length ? <ItemLIstCustomComponent /> : <EmptyMessageComponent />}

您可以在react native中查看条件渲染。如果重新渲染仍然没有发生?那么您更新状态/数据的方式不正确。请确保复制对象并更新现有对象。

要理解这一点,请阅读有关可变对象的内容,并对重新渲染进行浅层检查。或者这可能有助于

导航状态更改时如何重新加载页面

我认为调用另一个API或在componentWillRecieveProps中做任何与状态更改相关的事情不是一个好的做法。您可以创建一个新屏幕,在该屏幕上导航并调用componentDidMount中的API。如果您不使用任何导航库,可以尝试React导航。

最新更新