Analysis: Why does an empty element appear at the first index position every time?
P粉878510551
2023-08-16 21:12:28
<p>Whenever I try to put something into my to-do list, there is always an empty element at the first index. Why does this happen? </p>
<pre class="brush:php;toolbar:false;">const [todoList, setTodoList] = useState([]);
const addToList = (inputText) => {
if (inputText === "") {
alert("The list is empty")
}else{
setTodoList([inputText, ...todoList])
}
console.log(todoList);
};
const addList = (inputText) => {
addToList(inputText);
};</pre>
<pre class="brush:php;toolbar:false;">const [todoList, setTodoList] = useState([]);
const addToList = (inputText) => {
if (inputText === "") {
alert("The list is empty")
}else{
setTodoList([...todoList, inputText])
}
console.log(todoList);
};
const addList = (inputText) => {
addToList(inputText);
};</pre>
<p>I also tried it but it didn’t work</p>
Your
Use a closure to get the
todoList
, so you get the sametodoList
every time.You need to do something like this: