Heim  >  Fragen und Antworten  >  Hauptteil

Analyse: Warum erscheint jedes Mal ein leeres Element an der ersten Indexposition?

<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粉878510551P粉878510551401 Tage vor344

Antworte allen(1)Ich werde antworten

  • P粉391955763

    P粉3919557632023-08-17 15:45:16

    Your

    setTodoList([inputText, ...todoList])
    

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

    你需要像这样做:

    setTodoList(todoList => [inputText, ...todoList])
    

    Antwort
    0
  • StornierenAntwort