我正在尝试派遣一个操作来在出现主屏幕时影响API,但我有一个无限循环。
我的项目:
我尝试过的事情:
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不会产生无限循环,但是调度动作是..
如果有任何想法,请先感谢。
答案 0 :(得分:0)
答案是特定于我的项目的,但这里是:
我根据Redux变量值在App.js中显示了一个LoadingScreen,这导致了重新渲染。
解决方案:保持LoadingScreen独立,并将其从App.js中删除。
问题解决了。