无法从 redux 存储中删除对象


import { createSlice } from "@reduxjs/toolkit";
const transactionSlice = createSlice({
name: 'transactions',
initialState: [
{id: 1, text: 'shady', amount: 55},
{id: 2, text: 'shady', amount: 55},
{id: 3, text: 'shady', amount: 55}
],
reducers: {
addTransaction: (state, action) => {
const newTransaction = {
id: Math.floor(Math.random() * 100000),
text: action.payload.text,
amount: +action.payload.amount
}
state.push(newTransaction);
},
deleteTransaction: (state, action) => ({
...state,
transactions: state.transactions.filter(transaction => transaction.id !== action.payload.id)
})
}
})
export const { addTransaction, deleteTransaction } = transactionSlice.actions;
export default transactionSlice.reducer;

我想从存储中删除一个事务及其返回
TypeError: can't access property "filter", state。事务未定义

你得到这个是因为你的状态中没有任何键命名的事务

您可以通过将createSlice方法中的initialState值更新为

来解决这个问题
initialState: {
transactions:[
{id: 1, text: 'shady', amount: 55},
{id: 2, text: 'shady', amount: 55},
{id: 3, text: 'shady', amount: 55}
]
}

片的状态是一个数组—例如,您推送到该状态以添加事务。筛选状态以删除一个:

deleteTransaction: (state, action) =>
state.filter(transaction => transaction.id !== action.payload.id)

最新更新