我正在尝试更新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'}]
我怎样才能做到这一点呢?
谢谢!!!
为了将todos:['qwerty','abcdef']
转换为您期望的格式,您可以将其映射为:
null
var todos=['qwerty', 'abcdef'];
var result = todos.map((todo, i)=>({id:i+1, todo}));
console.log(result);
您可以对此任务使用reduce
null
const todos = ['qwerty', 'abcdef']
const data = todos.reduce((acc, rec, index) => {
return [...acc, {
id: index + 1,
todo: rec
}]
}, [])
console.log(data)