更新状态的正确语法是什么?
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 更新状态时要记住的一些重要事项是
- 状态更新器不会合并状态,而是用新状态替换现有状态
- 状态更新器不知道你给状态起什么名字,在你的情况下你称之为
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'];
使用 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 更新状态时要记住的一些重要事项是
- 状态更新器不会合并状态,而是用新状态替换现有状态
- 状态更新器不知道你给状态起什么名字,在你的情况下你称之为
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'];