React + Redux : 当使用 redux reducer 时,如果我们想依赖之前的状态,是否有必要使用 prevstate ?
React + Redux : When using a redux reducer, Is the use of prevstate necessary if we want to rely on previous state?
使用Redux,如果我们想依赖之前的state来改变当前state的值,是不是需要像调用常规setState一样使用prevstate回调函数setstate(prevstate => !prevstate.boolean )
? (例如,如果我们想根据先前的布尔值更改状态中的布尔值)。
那么下面的例子可以吗?不会有任何批处理的 setState 或会导致“抽搐”状态的东西吗?
const initialState = {
showToolbar: false,
};
const toolbarReducer = (state = initialState, action) => {
switch (action.type) {
case "TOGGLE_TOOLBAR":
return {
...state,
showToolbar: !state.showToolbar,
};
default:
return state;
}
};
export default toolbarReducer;
我希望我的问题是有道理的!
谢谢!
此致
在 Redux reducer 中,您无需担心回调以确保您使用的是最新状态,因为没有后台批处理更新。
每个 Redux action/state 更新在调用时执行。
使用Redux,如果我们想依赖之前的state来改变当前state的值,是不是需要像调用常规setState一样使用prevstate回调函数setstate(prevstate => !prevstate.boolean )
? (例如,如果我们想根据先前的布尔值更改状态中的布尔值)。
那么下面的例子可以吗?不会有任何批处理的 setState 或会导致“抽搐”状态的东西吗?
const initialState = {
showToolbar: false,
};
const toolbarReducer = (state = initialState, action) => {
switch (action.type) {
case "TOGGLE_TOOLBAR":
return {
...state,
showToolbar: !state.showToolbar,
};
default:
return state;
}
};
export default toolbarReducer;
我希望我的问题是有道理的!
谢谢!
此致
在 Redux reducer 中,您无需担心回调以确保您使用的是最新状态,因为没有后台批处理更新。
每个 Redux action/state 更新在调用时执行。