在 redux 的数组中添加键和值
add key and value in array in redux
我正在尝试更新 reducer 中的数组
let initialState = {
count: 0,
todos: [],
id:0,
}
const authReducer = (prevState = initialState, action) => {
switch (action.type) {
case types.ADD_TO_DO:
console.log(action.todo)
return {
...prevState,
todos: prevState.todos.concat(action.todo)
}
default:
return prevState;
}
}
我得到的数组形式为
todos:['qwerty', 'abcdef']
但我想要
的形式
todos:[{id:'1', todo:'qwerty'},{id:'2',todo:'abcdef'}]
我怎样才能做到这一点?
谢谢!!!
您可以使用 reduce 完成此任务
const todos = ['qwerty', 'abcdef']
const data = todos.reduce((acc, rec, index) => {
return [...acc, {
id: index + 1,
todo: rec
}]
}, [])
console.log(data)
为了将todos:['qwerty', 'abcdef']
转换成你想要的格式,你可以映射它:
var todos=['qwerty', 'abcdef'];
var result = todos.map((todo, i)=>({id:i+1, todo}));
console.log(result);
我正在尝试更新 reducer 中的数组
let initialState = {
count: 0,
todos: [],
id:0,
}
const authReducer = (prevState = initialState, action) => {
switch (action.type) {
case types.ADD_TO_DO:
console.log(action.todo)
return {
...prevState,
todos: prevState.todos.concat(action.todo)
}
default:
return prevState;
}
}
我得到的数组形式为
todos:['qwerty', 'abcdef']
但我想要
的形式todos:[{id:'1', todo:'qwerty'},{id:'2',todo:'abcdef'}]
我怎样才能做到这一点?
谢谢!!!
您可以使用 reduce 完成此任务
const todos = ['qwerty', 'abcdef']
const data = todos.reduce((acc, rec, index) => {
return [...acc, {
id: index + 1,
todo: rec
}]
}, [])
console.log(data)
为了将todos:['qwerty', 'abcdef']
转换成你想要的格式,你可以映射它:
var todos=['qwerty', 'abcdef'];
var result = todos.map((todo, i)=>({id:i+1, todo}));
console.log(result);