1const [state, setState] = useState(initialState);
initialState可以是基本类型、对象、数组,也可以是函数,但函数必须是纯函数。
返回值则包括当前渲染的state以及setState函数。set函数可以是一个新的状态,也可以是一个用前一个状态来计算新状态的函数。
在用函数初始化状态的时候,最好别用调用函数的写法,例如:
1const [state, setState] = useState(createState())
应该直接将初始化函数传递给useState()
当父组件传递状态给子组件时,可用useState()储存前一次的状态,且必须将set函数放到判断语句当中,否则造成无限循环。
在使用usestate()的时候需要注意以下几点: