Javascript 更改选项卡时是否重新加载屏幕?
我的项目中有两个选项卡-外部选项卡和内部选项卡。在我的内部选项卡中,我有显示标记和详细信息的地图和列表 现在,我想在将选项卡从“映射”更改为“列表”或从“映射”更改为“列表”时重新加载获取数据。我只能在ie首次访问时调用它们一次,因为我一直在调用组件将挂载的API。 如何识别标签移动和重新加载地图 非常感谢您提供的任何线索我想您正在使用。他们最近在API willBlur、willFocus、didBlur和didFocus事件中引入了导航侦听器 然后,一个想法是使用屏幕中的侦听器刷新所需的数据 例如:Javascript 更改选项卡时是否重新加载屏幕?,javascript,reactjs,react-native,react-navigation,react-native-maps,Javascript,Reactjs,React Native,React Navigation,React Native Maps,我的项目中有两个选项卡-外部选项卡和内部选项卡。在我的内部选项卡中,我有显示标记和详细信息的地图和列表 现在,我想在将选项卡从“映射”更改为“列表”或从“映射”更改为“列表”时重新加载获取数据。我只能在ie首次访问时调用它们一次,因为我一直在调用组件将挂载的API。 如何识别标签移动和重新加载地图 非常感谢您提供的任何线索我想您正在使用。他们最近在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 */ );
}
}
文档:我想您正在使用。他们最近在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 */ );
}
}
文档:尝试使用useEffect挂钩处理组件渲染更改
useEffect(() => {
//core logic for component rerender
}, [dataChangelistener]);
尝试使用useEffect挂钩处理组件渲染更改
useEffect(() => {
//core logic for component rerender
}, [dataChangelistener]);
我应该在哪里添加此侦听器?作为组件,willmount只调用一次。在componentWillReceiveProps中添加此侦听器是否有效?将其添加到您感兴趣的选项卡的componentDidMount中,不要忘记在componentWillUnmount中删除它。我更新了我的帖子。我应该在哪里添加此侦听器?作为组件,willmount只调用一次。在componentWillReceiveProps中添加此侦听器是否有效?将其添加到您感兴趣的选项卡的componentDidMount中,不要忘记在componentWillUnmount中删除它。我更新了我的帖子。