用户在移动浏览器和页面之间切换屏幕后,在 React Native 中重新渲染生命周期

IT技术 reactjs react-native
2021-05-05 13:56:48

React 中是否有生命周期或方法,特别是在 React Native 中,在用户在移动浏览器和打开的屏幕之间切换屏幕后调用组件渲染?

例如,我想在用户进入浏览器支付网关并成功交易后获取钱包金额。浏览器页面调用应用程序的包名称,应用程序在我拥有的同一个钱包屏幕中打开。由于我已经在页面中,因此页面不会重新呈现(componentDidMount)并且我无法在(ComponentDidUpdate)中调用api是状态管理器如上下文还是redux是唯一的解决方案?

1个回答

您可以AppState用来检查您的应用程序是否恢复

import { AppState, AppStateStatus } from 'react-native';
...

componentDidMount() {
  AppState.addEventListener('change', this.onAppStateChange);
}

componentWillUnmount() {
  AppState.removeEventListener('change', this.onAppStateChange);
}

onAppStateChange(state) {
  if (state === 'active') {
    // Add code to check your wallet here
  }
}