更改选项卡时重新加载屏幕?

问题描述 投票:0回答:1

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

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

任何领导都将非常感激

javascript reactjs react-native react-navigation react-native-maps
1个回答
4
投票

我以为你在使用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 */ );
  }
}

文档:Subscribe to updates to navigation lifecycle

© www.soinside.com 2019 - 2024. All rights reserved.