更改选项卡后是否重新加载屏幕?

Hun*_*oul 0 javascript reactjs react-native react-native-maps react-navigation

我的项目中有2个标签-外部标签和内部标签。在我的内部标签中,我有地图和列表,其中显示了标记和详细信息。

现在,当我将选项卡从地图更改为列表或反之时,我想重新加载(获取数据)。我只能调用一次,即第一次访问,因为我一直在从组件Will Mount()调用API。如何识别标签的移动并重新加载地图?

任何线索将不胜感激

Thé*_*dvn 8

我以为您正在使用react-navigation。他们最近在其API中引入了导航监听器(willBlur,willFocus,didBlur和didFocus事件)。

然后,一个想法是使用屏幕上的那些侦听器刷新所需的数据。

例:

class YourComponent extends Component {
  componentDidMount() {
    this.didFocusListener = this.props.navigation.addListener(
      'didFocus',
      () => { console.log('did focus') },
    );
  }

  componentWillUnmount() {
    this.didFocusListener.remove();
  }

  render() {
    return ( /* your render */ );
  }
}
Run Code Online (Sandbox Code Playgroud)

文档:订阅导航生命周期的更新