Reactjs 如何使用React setState()将状态设置为常量的特定值?
我相信我对React.js中的state是如何工作的有些误解。如果我将上述代码的setNumber(number+1)部分设置为“+1”,那么number将变成“201”,但如果我将其设置为“=newNumber”,则会出现“TypeError:Assignment to constant variable”错误。为什么会这样?因为newNumber不是使用“const”标记的常量变量,所以错误不应该是其他的吗 只需像这样使用setNumberReactjs 如何使用React setState()将状态设置为常量的特定值?,reactjs,react-hooks,setstate,Reactjs,React Hooks,Setstate,我相信我对React.js中的state是如何工作的有些误解。如果我将上述代码的setNumber(number+1)部分设置为“+1”,那么number将变成“201”,但如果我将其设置为“=newNumber”,则会出现“TypeError:Assignment to constant variable”错误。为什么会这样?因为newNumber不是使用“const”标记的常量变量,所以错误不应该是其他的吗 只需像这样使用setNumber const [number, setNumbe
const [number, setNumber] = useState(0);
let newNumber = 200;
useEffect(() => {
setNumber(number = newNumber);
}, [])
或者最好只是在最初的表达
useEffect(() => {
setNumber(newNumber);
}, [])
只需像这样使用setNumber
const [number, setNumber] = useState(0);
let newNumber = 200;
useEffect(() => {
setNumber(number = newNumber);
}, [])
或者最好只是在最初的表达
useEffect(() => {
setNumber(newNumber);
}, [])
setNumber
函数接受要将状态设置为的值。因此,如果您想将number设置为newNumber的值,您可以执行setNumber(newNumber)
函数setNumber
接受您想将状态设置为的值。因此,如果您想将number设置为newNumber的值,您可以执行setNumber(newNumber)
只需将值放入setNumber
函数中即可
const [number, setNumber] = useState(200)
只需将您的值放入
setNumber
函数中即可
const [number, setNumber] = useState(200)
useState
描述状态,它可以是对象、字符串、布尔值和数字。如果它是基本数据,即不是对象,则只需在更新时传递值,如下所示:
const [number, setNumber] = useState(0);
let newNumber = 200;
useEffect(() => {
setNumber(newNumber);
}, [])
setStateVal(5); // here 5 will become the new state
如果您的状态是对象,则需要按如下方式传递更新的状态对象:
const [number, setNumber] = useState(0);
let newNumber = 200;
useEffect(() => {
setNumber(newNumber);
}, [])
setStateVal(5); // here 5 will become the new state
在任何情况下都不能使用
=
运算符。useState
描述状态,它可以是对象、字符串、布尔值和数字。如果它是基本数据,即不是对象,则只需在更新时传递值,如下所示:
const [number, setNumber] = useState(0);
let newNumber = 200;
useEffect(() => {
setNumber(newNumber);
}, [])
setStateVal(5); // here 5 will become the new state
如果您的状态是对象,则需要按如下方式传递更新的状态对象:
const [number, setNumber] = useState(0);
let newNumber = 200;
useEffect(() => {
setNumber(newNumber);
}, [])
setStateVal(5); // here 5 will become the new state
在任何情况下都不能使用
=
运算符。在这种情况下,如果使用const[number,setNumber]=useState(200)
,则更简单。另外,setNumber
如果作为参数传递,则设置number
的值。但是,我的初始值必须是其他值。在这种情况下,如果使用const[number,setNumber]=useState(200)
,则更简单。另外,setNumber
设置作为参数传递的number
的值。但我的初始值必须是其他值。