当主屏幕出现时,我正试图调度一个操作以影响API,但我有一个无限循环。
我的项目:
- React Native应用程序
- Redux
- redux-axios中间件
- React Navigation(我使用的是抽屉(
我尝试了什么:
const dispatch = useDispatch();
useEffect(() => {
const fetchNewMails = () =>
return dispatch(ACTIONS.mailActions.fetchMails());
};
fetchNewMails();
}, [dispatch]);
-------
const dispatch = useDispatch();
const fetchNewMails = useCallback(() => {
return dispatch(ACTIONS.mailActions.fetchMails());
}, [dispatch]);
useEffect(() => {
const unsubscribe = navigation.addListener('focus', () => {
fetchNewMails();
});
return unsubscribe;
}, [fetchNewMails, navigation]);
一个简单的console.log不会产生无限循环,但调度操作是的。。
如果你有任何想法,请提前感谢。
答案是针对我的项目的,但这里是:
我在App.js中显示了一个LoadingScreen,这取决于Redux变量的值,它导致了重新渲染。
解决方案:保持LoadingScreen独立,并将其从App.js.中删除
问题已解决。