在 redux 中,reducer 改变状态后会发生什么?
In redux, what happens after reducer change the state?
我正在阅读 a react app 的源代码,它实现了 OKTA 用户管理 API。
让我感到困惑的一件事是状态如何改变,例如 logIn
const registration = (state = initialState, action) => {
switch (action.type) {
case 'LOGOUT':
return Object.assign({}, state, {sessionToken: null, error: null});
case 'LOGIN_ERROR':
return Object.assign({}, state, {sessionToken: null, error: action.payload});
case 'LOGIN_SUCCESS':
return Object.assign({}, state, {sessionToken: action.payload, error: null});
default:
return state;
}
};
我猜是 login page would be rendered to profile 页。
但是这里reducer只连接到store。那它是如何工作的呢?
PS: 我一开始附上了错误的代码。
react-redux
plug-in 是 redux
和 react
之间的粘合剂。 plug-in 订阅 商店状态更改时调用的商店。每次商店更改时,react-redux
都会更新其所有 已连接 组件。这是以最佳方式完成的,如果更改的商店部分对该组件不感兴趣,则不更新该组件。
我正在阅读 a react app 的源代码,它实现了 OKTA 用户管理 API。
让我感到困惑的一件事是状态如何改变,例如 logIn
const registration = (state = initialState, action) => {
switch (action.type) {
case 'LOGOUT':
return Object.assign({}, state, {sessionToken: null, error: null});
case 'LOGIN_ERROR':
return Object.assign({}, state, {sessionToken: null, error: action.payload});
case 'LOGIN_SUCCESS':
return Object.assign({}, state, {sessionToken: action.payload, error: null});
default:
return state;
}
};
我猜是 login page would be rendered to profile 页。 但是这里reducer只连接到store。那它是如何工作的呢?
PS: 我一开始附上了错误的代码。
react-redux
plug-in 是 redux
和 react
之间的粘合剂。 plug-in 订阅 商店状态更改时调用的商店。每次商店更改时,react-redux
都会更新其所有 已连接 组件。这是以最佳方式完成的,如果更改的商店部分对该组件不感兴趣,则不更新该组件。