Analyse: Warum erscheint jedes Mal ein leeres Element an der ersten Indexposition?
P粉878510551
P粉878510551 2023-08-16 21:12:28
0
1
406
<p>Immer wenn ich versuche, etwas in meine To-Do-Liste aufzunehmen, gibt es am ersten Index immer ein leeres Element. Warum passiert das? </p> <pre class="brush:php;toolbar:false;">const [todoList, setTodoList] = useState([]); const addToList = (inputText) => if (inputText === "") { alarm("Die Liste ist leer") }anders{ 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 === "") { alarm("Die Liste ist leer") }anders{ setTodoList([...todoList, inputText]) } console.log(todoList); }; const addList = (inputText) => addToList(inputText); };</pre> <p>Ich habe es auch versucht, aber es hat nicht funktioniert</p>
P粉878510551
P粉878510551

Antworte allen(1)
P粉391955763

Your

setTodoList([inputText, ...todoList])

使用闭包获取 todoList,所以每次都获取相同的 todoList

你需要像这样做:

setTodoList(todoList => [inputText, ...todoList])
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage