React的文档:
const [state, setState] = useState(initialState);
在初始渲染期间,返回的状态(状态)与作为第一个参数(initialState)传递的值相同。
我明白这是什么意思,initialState
的意思是不变的。但是,如果initialState
在后续渲染中具有不同的值,会发生什么情况?假设initialState
只读一次(在第一次调用useState
时)是真的吗?
答案 0 :(得分:0)
参数initialState
仅在初始渲染期间传递并由useState使用一次,并且随后对initialState
的任何更改(未通过引用时的突变完成)都不会更新状态值。
但是,如果您更改了initialState的引用,则它可能会反映在状态中。但是,如果甚至在更改initialState
之前使状态更新一次,状态将不再引用initialState,因此即使更改initialState
也不会反映状态变化。