我已经实现了Reaction原生选项卡导航器,并向其添加了4个屏幕. 我在第二个屏幕中向API发布了一些记录,我希望在第四个屏幕中有更新的记录,在那里我可以获得更新的记录.

UseEffect只被锁定一次,当我在它的论点中加入一些东西时,它会给我带来奇怪的行为.

我想要Use Effect重新加载并调用API来在第四个屏幕中获取最新的项目,而不会在它的论证中放任何东西(空参数)

任何帮助都将不胜感激.

推荐答案

试着这样做;

UseEffect(()=>;{ Const取消订阅=Navigation.addListener("Focus",()=>;{

  makeApiCall();
});

return unsubscribe;

),[导航]);

在组件的参数中获取导航(析构) 如下所示;

Const My4thTab=({导航})=>;{

}

这种方式Use Effect只会触发一次,每次你进入这个屏幕 但一定要清除之前存储数据的状态,否则可能会有记录重复.

希望它能有所帮助:)

React-native相关问答推荐

"npx expo run:android命令不能在Expo中运行

React Native 无法下载模板

无法设置文本输入参考

每当我在 React Native Tab Navigator 中切换标签时触发 UseEffect

我们在react钩子中还需要功能性的 setState 方式吗?

如何在StackNavigator 中实现自定义标题图标?

使用 Bearer身份验证令牌react native图像

React-Native Packager 失败:重复的模块名称

如何判断 React Native 中的 AsyncStorage 中是否存在密钥? getItem() 总是返回一个promise对象

React-Native 构建失败的应用程序:mergeDebugAssets

如何从 React Native-App 中的 res/drawable-folder 加载图像?

Android 构建错误AndroidManifest.xml requires a placeholder substitution

react-native async 函数返回 promise 但不返回我的 json 数据?

React Native 元素搜索栏边界线未清除

在 React Native Navigator 中的组件之间传递值

如何知道 FlatList 中的滚动状态?

react-native平面列表初始滚动到底部

Port 8081 already in use, packager is either not running or not running correctly Command /bin/sh failed with exit code 2

如何从 React-Native 中的另一个类调用函数?

react-native iOS 应用在部署后不显示静态/本地资源