带有React的Redux-更改减速器之间的状态

时间:2018-10-22 16:24:00

标签: reactjs redux react-redux react-state-management

我不确定问题的标题是否正确陈述。因此,我的想法是针对用户列表(我从免费服务https://reqres.in/获得)和身份验证机制(我也从同一服务获得)使用单独的reduce。当前的应用程序在这里可用(您可以按登录按钮):https://codesandbox.io/s/wov2pk8n18

问题如下。我不知道在应用程序中如何进行用户的初始加载。当前,它只是在应用程序的根目录中(src/index.js,第14行):

const store = createStore(rootReducer, applyMiddleware(thunk));
store.dispatch(loadUsers());

这是正确的吗?我在哪里可以称呼此调度,以便更符合redux最佳实践?

主要问题如下。仅当用户登录时才加载用户,因此在src/actions/users.js(第34行)中进行加载:

if (!token) {
    return dispatch(getUsersFailure(`Not authorized!`));
}

这仅在用户已经登录的情况下有效,因为我将状态传递给了reducer(return async (dispatch, getState) => {)。但是,如果用户在随机的时间点登录,显然这是行不通的。 由于我有单独的减速器,因此我不确定如何解决此问题。什么是正确的方法?

感谢任何帮助。

0 个答案:

没有答案