作为文档https://reactnavigation.org/docs/en/next/use-focus-effect.html,
“有时我们希望在屏幕聚焦时产生副作用。副作用可能涉及添加事件侦听器,获取数据,更新文档标题等。”
[我试图在用户每次访问该页面时都使用useFocusEffect
来获取数据。
在我的组件上,我有一个函数,该函数使用redux调度操作以获取数据:
const fetchData = ()=>{
dispatch(companyJobsFetch(userDetails.companyId));
};
实际上,我正在使用useEffect
钩子来调用fetchData()
,但我希望每次用户访问该页面时都获取数据,而不仅是在第一次呈现时。
从文档中尚不清楚如何使用useFocusEffect
,但在如何使用上却没有成功。
有帮助吗?
文档向您展示了如何做到这一点。您需要用自己的东西替换API.subscribe
:
useFocusEffect(
React.useCallback(() => {
dispatch(companyJobsFetch(userDetails.companyId));
}, [dispatch, companyJobsFetch, userDetails.companyId])
);