我正在学习 React Hooks,并试图了解 useState 如何与数组一起工作。所以,我有这个代码:
const App = () => {
const initialTodos = [
{
id: 'a',
task: 'Learn React',
complete: true,
},
{
id: 'b',
task: 'Learn Firebase',
complete: true,
},
{
id: 'c',
task: 'Learn GraphQL',
complete: false,
},
];
const [todos, setTodos] = useState(initialTodos);
const [task, setTask] = useState('');
const handleChangeInput = event => {
setTask(event.target.value);
};
const handleSubmit = event => {
if (task) {
setTodos(todos.concat({ id: 'd', task, complete: false }));
}
setTask('');
event.preventDefault();
};
...
};
我想问的问题是,为什么我们要使用 concat 将新对象不变地添加到数组中,如果 mutate 并使用 push() 会怎样?
潇湘沐
qq_笑_17
相关分类