首页 > 解决方案 > 如何使用 redux 和 react-hooks 共享状态数据

问题描述

我试图使用反应钩子来加载我的状态和 redux 来存储状态数据。但是,如果可能的话,找到正确的方法来做到这一点有点困难。有人能帮我吗?

例子:

1 - 屏幕 A。标题 = myTitleScreenA。

2 - 屏幕 B.changeTitle(myTitleScreenB)。

3 - 屏幕 B. 将新标题发送到存储。

4 - 屏幕 B. 导航返回 (B -> A)。

5- 屏幕 A. 加载新标题 myTitleScreenB。

从屏幕 A 获取已存储状态的数据:

const diaryData = useSelector(({diaryState}) => diaryState.data);
const diaryIndex = useSelector(({diaryState}) => diaryState.index);


const [diary, setDiary] = useState(diaryData[diaryIndex]);

useEffect(() => {
    console.log('im here');
    setLoad(true);
    setDiary(diaryData[diaryIndex]);
    setLoad(false);
  });

在屏幕 B,更改状态和调度信息:

 diary.growDimens = growDimens;
 diary.lightingType = lightingType;
 diary.lumens = lumens;

 diaryData[diaryIndex] = diary;
 dispatch(diaryFetchSuccess(diaryData));

我预计在执行调度时,屏幕a的日记状态会被修改。但事实并非如此。

标签: react-nativereact-reduxreact-hooks

解决方案


推荐阅读