更新状态的正确语法是什么?

What is the correct syntax for updating the state?

使用 react-hook 更新状态的正确方法是什么?

const [items, setItems]= useState([]];
const onChangeHandlers= (values)=> {
setItems({setItems:values})
}
const values = ['item1','item2','item3'];`

必须要有改值功能

 1:  import React, { useState } from 'react';
 2:
 3:  function Example() {
 4:    const [count, setCount] = useState(0);
 5:
 6:    return (
 7:      <div>
 8:        <p>You clicked {count} times</p>
 9:        <button onClick={() => setCount(count + 1)}>
10:         Click me
11:        </button>
12:      </div>
13:    );
14:  }

你的例子

   const [items, setItems] = useState([]);

   const onChangeHandlers= (values)=> {
   setItems(values)}};

通过 useState updater hook 更新状态时要记住的一些重要事项是

  1. 状态更新器不会合并状态,而是用新状态替换现有状态
  2. 状态更新器不知道你给状态起什么名字,在你的情况下你称之为 items

这里的正确方法是像调用普通函数时那样传入新值

const [items, setItems]= useState([]];
const onChangeHandlers= (values)=> {
   setItems(values)
}
const values = ['item1','item2','item3'];
const [items, setItems] = useState([]);

const onChangeHandlers = values => {
    setItems(prevState => ([
        ...items,
        values
    ]);
};

const values = ['item1', 'item2', 'item3'];