在bottomTabNavigator中加载选项卡之前如何检查条件

时间:2019-12-05 10:02:17

标签: react-native react-navigation

如标题中所述,我想先检查是否已加载某些数据,然后再显示已单击标签,如果该数据不在此处,则显示警报并且不显示标签。 我需要知道在哪里实现此逻辑。 谢谢!

1 个答案:

答案 0 :(得分:2)

只要在标签页上单击鼠标键

,就可以在标签页屏幕中为其添加一个列表器。
import { NavigationActions, StackActions, NavigationEvents } from 'react-navigation'

<NavigationEvents
  onWillFocus={payload => {
    this.checkIfUserRegistered();
  }}
//onDidFocus={payload => console.log('did focus', payload)}
//onWillBlur={payload => console.warn('will blur', payload)}
//onDidBlur={payload => console.log('did blur', payload)}
/>

您的渲染功能如下所示,

render() {
  return (
    <View style={styles.container}>
      <NavigationEvents
        onWillFocus={payload => {
          this.checkIfUserRegistered(); 
           # common component, if unregistered then you can go back to the screen which you want to display
        }}
      //onDidFocus={payload => console.log('did focus', payload)}
      //onWillBlur={payload => console.warn('will blur', payload)}
      //onDidBlur={payload => console.log('did blur', payload)}
      />
    </View >
  );

}

您还可以阅读here了解导航事件..

我希望它可以帮助....:)