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

问题描述 投票:0回答:3

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

const [items, setItems]= useState([]];
const onChangeHandlers= (values)=> {
setItems({setItems:values})
}
const values = ['item1','item2','item3'];`
reactjs react-hooks
3个回答
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
投票

在setState updater hook中更新状态时要记住的几个重要事项是

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

正确的方法就是在调用普通函数时传递新值

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

0
投票
const [items, setItems] = useState([]);

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

const values = ['item1', 'item2', 'item3'];
© www.soinside.com 2019 - 2024. All rights reserved.