首頁  >  問答  >  主體

解析:為什麼每次都有一個空元素出現在第一個索引位置?

<p>每當我嘗試將某些內容放入我的待辦事項清單時,總是在第一個索引處有一個空元素。為什麼會發生這種情況? </p> <pre class="brush:php;toolbar:false;">const [todoList, setTodoList] = useState([]); const addToList = (inputText) => { if (inputText === "") { alert("列表為空") }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("列表為空") }else{ setTodoList([...todoList, inputText]) } console.log(todoList); }; const addList = (inputText) => { addToList(inputText); };</pre> <p>我也嘗試過,但不起作用</p>
P粉878510551P粉878510551452 天前382

全部回覆(1)我來回復

  • P粉391955763

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

    Your

    setTodoList([inputText, ...todoList])
    

    使用閉包取得 todoList,所以每次都取得相同的 todoList

    你需要像這樣做:

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

    回覆
    0
  • 取消回覆