首页  >  问答  >  正文

解析:为什么每次都有一个空元素出现在第一个索引位置?

<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粉878510551401 天前345

全部回复(1)我来回复

  • P粉391955763

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

    Your

    setTodoList([inputText, ...todoList])
    

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

    你需要像这样做:

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

    回复
    0
  • 取消回复