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

时间:2019-04-24 16:07:48

标签: reactjs react-hooks

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

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

3 个答案:

答案 0 :(得分:1)

您必须具有更改值的功能

 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)}};

答案 1 :(得分:1)

通过useState updater钩子更新状态时要记住的一些重要事情

  1. 状态更新程序不合并状态,而是用新状态替换现有状态
  2. 状态更新程序不知道您为状态指定的名称,在您的情况下,您将其称为items

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

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

答案 2 :(得分:0)

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

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

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