首页 > 解决方案 > 对如何使用 Redux 和数据库感到困惑

问题描述

我试图弄清楚如何在我的 React Native 应用程序中使用 Redux。

我使用 Realm 作为本地数据库,我很困惑如何实现它。在 Realm 中,我保存了一组自定义对象,因此当应用程序启动时,我想获取该数组并将其设置为应用程序的状态。

据我了解,我需要采取行动,如下所示:

export const fetchItems = () => {
    return (dispatch) => {
        dispatch({
            type: "FETCH_ITEMS",
        })
    }
}

并且有一个看起来像这样的减速器:

const initialState = {
    items: [],
}

const reducer = (state = initialState, action: AnyAction) => {
    switch (action.type) {
        case ActionType.fetchItems:
            return {
                ...state,
                items: action.payload
            }
            break;
        default:
            return state;
    }
}

但我不确定我应该如何在主屏幕中使用它。我想应该是这样的:

  const { items } = useSelector(state => store.getState().items)

但是,当我向数据库添加新项目时,我当然应该更新数据库,那么什么时候应该更新状态呢?我尝试阅读文章,并观看一些教程,但每个人的工作方式都有点不同,而且更令人困惑。到目前为止,我写的关于 Redux 的内容是对的吗?应该这样使用它吗?

标签: react-nativeredux

解决方案


推荐阅读