在 Redux 的 reducer 中获取之前和当前的状态
Get previous and current state in Redux's reducer
我开始研究Redux。
在我的应用程序中,我有一个按钮。我推入这个 btn 并得到一个对象。
此对象收入到 action.payload
中的 reducer。
当我按下按钮时,对象每次都会改变。
我如何将所有以前的状态保存在减速器中,并添加当前状态?
制作类似的东西:
if (action.type === "ADD_ITEM") {
return {
items: [all previous state, + current state],
};
}
reducer 中的所有代码
const initialState = {
items: [],
};
const basket = (state = initialState, action) => {
if (action.type === "ADD_ITEM") {
return {
items: [action.data],
};
}
return state;
};
export default basket;
您可以在更新之前访问以前的值(并且可以保存它),并且如您所知,您可以通过操作更新它
如果你想追加新数据到数组中,你可以浅复制现有状态数组并将新数据追加到末尾。
const initialState = {
items: [],
};
const basket = (state = initialState, action) => {
if (action.type === "ADD_ITEM") {
return {
...state, // shallow copy existing state
items: [
...state.items, // shallow copy existing items
action.data, // append new data
],
};
}
return state;
};
我开始研究Redux。
在我的应用程序中,我有一个按钮。我推入这个 btn 并得到一个对象。
此对象收入到 action.payload
中的 reducer。
当我按下按钮时,对象每次都会改变。
我如何将所有以前的状态保存在减速器中,并添加当前状态?
制作类似的东西:
if (action.type === "ADD_ITEM") {
return {
items: [all previous state, + current state],
};
}
reducer 中的所有代码
const initialState = {
items: [],
};
const basket = (state = initialState, action) => {
if (action.type === "ADD_ITEM") {
return {
items: [action.data],
};
}
return state;
};
export default basket;
您可以在更新之前访问以前的值(并且可以保存它),并且如您所知,您可以通过操作更新它
如果你想追加新数据到数组中,你可以浅复制现有状态数组并将新数据追加到末尾。
const initialState = {
items: [],
};
const basket = (state = initialState, action) => {
if (action.type === "ADD_ITEM") {
return {
...state, // shallow copy existing state
items: [
...state.items, // shallow copy existing items
action.data, // append new data
],
};
}
return state;
};