如何在 Redux 中存储以数组为值的对象数组?
How do I store an array of objects that have arrays as value in Redux?
如何在 Redux 中存储以数组作为值的对象数组,其中值是项目数组,键是名称之类的字符串。我必须存储类似的东西:
[{
name: 'ron',
team: ['josh','brian'],
},
{
name: 'marie',
team: ['ann', 'kevin']
}
]
这是我只有名字的代码:
import {v4 as uuid} from 'uuid';
const initalState = [
{
id: uuid(),
name: ''
}
];
const trainerReducer = (state = initalState, action) => {
const {type, payload} = action;
switch (type) {
case 'CREATE_TRAINER':
console.log('payload', payload);
return [...state, {id: uuid(), name: payload.name}];
default:
return state;
}
};
export default trainerReducer;
此外,任何关于如何在 redux 中添加、更新、删除它的文档都将不胜感激。
请试试这个:
创建 var 或 const 数组。
const arrayData = [{
name: 'ron',
team: ['josh','brian'],
},
{
name: 'marie',
team: ['ann', 'kevin']
}
];
然后将此数组发送到相关方法进行操作。
import {v4 as uuid} from 'uuid';
const initalState = [
{
id: uuid(),
name: ''
}
];
const trainerReducer = (state = initalState, action) => {
const {type, payload} = action;
const arrayData = payload.arrayData;
switch (type) {
case 'CREATE_TRAINER':
console.log('payload', payload);
return [...state,[...arrayData], {id: uuid(), name: payload.name}];
...
...
...
当你创建一个教练时,你通过了团队。
const trainerReducer = (state = initalState, action) => {
const { type, payload } = action;
switch (type) {
case "CREATE_TRAINER":
console.log("payload", payload);
return [
...state,
{ id: uuid(), name: payload.name, team: payload.team ?? [] },
];
case "ADD_TEAM":
return state.map((trainer) =>
trainer.id === payload.id ? { ...trainer, ...payload.team } : trainer
);
default:
return state;
}
};
如何在 Redux 中存储以数组作为值的对象数组,其中值是项目数组,键是名称之类的字符串。我必须存储类似的东西:
[{
name: 'ron',
team: ['josh','brian'],
},
{
name: 'marie',
team: ['ann', 'kevin']
}
]
这是我只有名字的代码:
import {v4 as uuid} from 'uuid';
const initalState = [
{
id: uuid(),
name: ''
}
];
const trainerReducer = (state = initalState, action) => {
const {type, payload} = action;
switch (type) {
case 'CREATE_TRAINER':
console.log('payload', payload);
return [...state, {id: uuid(), name: payload.name}];
default:
return state;
}
};
export default trainerReducer;
此外,任何关于如何在 redux 中添加、更新、删除它的文档都将不胜感激。
请试试这个: 创建 var 或 const 数组。
const arrayData = [{
name: 'ron',
team: ['josh','brian'],
},
{
name: 'marie',
team: ['ann', 'kevin']
}
];
然后将此数组发送到相关方法进行操作。
import {v4 as uuid} from 'uuid';
const initalState = [
{
id: uuid(),
name: ''
}
];
const trainerReducer = (state = initalState, action) => {
const {type, payload} = action;
const arrayData = payload.arrayData;
switch (type) {
case 'CREATE_TRAINER':
console.log('payload', payload);
return [...state,[...arrayData], {id: uuid(), name: payload.name}];
...
...
...
当你创建一个教练时,你通过了团队。
const trainerReducer = (state = initalState, action) => {
const { type, payload } = action;
switch (type) {
case "CREATE_TRAINER":
console.log("payload", payload);
return [
...state,
{ id: uuid(), name: payload.name, team: payload.team ?? [] },
];
case "ADD_TEAM":
return state.map((trainer) =>
trainer.id === payload.id ? { ...trainer, ...payload.team } : trainer
);
default:
return state;
}
};