React Native 屏幕应根据上一个屏幕重新加载

时间:2021-05-27 01:57:03

标签: react-native react-navigation

我正在开发一个社交网络,我有一个主页屏幕,其中加载了一个提要和一个发布屏幕。

如何仅在创建帖子时触发重新加载?

两个屏幕都在底部导航器中。

1 个答案:

答案 0 :(得分:0)

如果你想让你的组件重新加载状态,那么你可以使用 redux 或 react 上下文。 但如果您不使用这些,则无法重新加载,但您可以在更改或按下选项卡时调用函数,请参阅此 https://reactnavigation.org/docs/bottom-tab-navigator/#events 并在其中调用您的函数以重新加载数据。

React.useEffect(() => {
const unsubscribe = navigation.addListener('tabPress', (e) => {
// Prevent default behavior
e.preventDefault();

// Do something manually
// ...
});

return unsubscribe;
}, [navigation]);

甚至你可以使用焦点方法

React.useEffect(() => {
const unsubscribe = navigation.addListener('focus', () => {
  // do something
});

return unsubscribe;

}, [导航]);