使用反应路由器流量返回时如何重新渲染或刷新先前的屏幕

问题描述

在我的本机应用程序中,我正在使用本机路由器流量,同时返回上一屏幕时,我希望上一屏幕重新呈现或刷新。我正在使用Action.pop()返回上一个。如何刷新上一个屏幕?

解决方法

您需要在屏幕上的导航对象上侦听“焦点”事件,并在事件处理程序中添加用于获取新数据的逻辑。

function YourScreenComponent({ navigation }) {
  React.useEffect(() => {
    const unsubscribe = navigation.addListener('focus',() => {
      // fetch new data here
    });

    return unsubscribe;
  },[navigation]);

  return <SomeContent />;
}
,

我使用反应路由器流量的Action.reset(“屏幕的键”)解决了该问题

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...