如何使用useFocusEffect挂钩

问题描述 投票:0回答:1

作为文档https://reactnavigation.org/docs/en/next/use-focus-effect.html

“有时我们希望在屏幕聚焦时产生副作用。副作用可能涉及添加事件侦听器,获取数据,更新文档标题等。”

[我试图在用户每次访问该页面时都使用useFocusEffect来获取数据。

在我的组件上,我有一个函数,该函数使用redux调度操作以获取数据:

const fetchData = ()=>{ dispatch(companyJobsFetch(userDetails.companyId)); };

实际上,我正在使用useEffect钩子来调用fetchData(),但我希望每次用户访问该页面时都获取数据,而不仅是在第一次呈现时。

从文档中尚不清楚如何使用useFocusEffect,但在如何使用上却没有成功。

有帮助吗?

react-native react-navigation
1个回答
1
投票

文档向您展示了如何做到这一点。您需要用自己的东西替换API.subscribe

useFocusEffect(
  React.useCallback(() => {
    dispatch(companyJobsFetch(userDetails.companyId));
  }, [dispatch, companyJobsFetch, userDetails.companyId])
);
© www.soinside.com 2019 - 2024. All rights reserved.