Analysis: Why does an empty element appear at the first index position every time?
P粉878510551
P粉878510551 2023-08-16 21:12:28
0
1
392
<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>
P粉878510551
P粉878510551

reply all(1)
P粉391955763

Your

setTodoList([inputText, ...todoList])

Use a closure to get the todoList, so you get the same todoList every time.

You need to do something like this:

setTodoList(todoList => [inputText, ...todoList])
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template