我不确定问题的标题是否正确陈述。因此,我的想法是针对用户列表(我从免费服务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) => {
)。但是,如果用户在随机的时间点登录,显然这是行不通的。
由于我有单独的减速器,因此我不确定如何解决此问题。什么是正确的方法?
感谢任何帮助。