开发者问题收集

React Native 页面重新加载

2018-04-19
148

我有一个函数,我想在页面加载时执行它。第一次它运行正常,但如果我再次转到同一页面,它不会调用该函数。我知道我的页面已被缓存。每次页面加载时我如何触发某些函数。

1个回答

取决于您所说的 页面加载 的具体含义。 如果您的意思是渲染不同的组件,然后再次渲染我们的原始组件,那么就是这些函数:

  1. componentWillMount
  2. render
  3. componentDidMount

如果您的意思是将应用置于后台,然后再次置于前台,那么您可能根本无法依赖 React 生命周期函数(如果没有传递任何 props)。

但您可以注册一个检测 AppState 更改的函数,如下所示:

AppState.addEventListener('change', handleAppStateChange);

const handleAppStateChange = (nextAppState: AppStateStatus) => {
  switch (nextAppState) {
    case 'active':
      break;
    case 'background':
      break;
    default:
  }
};

这样,当您将应用(以及您的 Page 再次置于前台)时,您会收到一个回调

oliver
2018-04-19