1、useState最好写到函数的起始位置, 主要是便于阅读 2、useState严禁出现在代码块(判断和循环等)中 3、useState返回的函数(数组的第二项), 这个函数的引用是不会变化的(优化性能) 4、如果使用函数改变数据, 若数据和之前的数据完全相等(使用Object.is), 则不会重新渲染, 由于Object.is是浅比较, 所以如果状态是一个对象的时候要小心操作了 5、如果使用函数改变数据, 传入的值不会和原来的数据进行合并而是直接进行替换(跟setState完全不一样), 所以在修改对象的时候, 我们要先将之前的对象保存下来 6、不要直接去改变state的值 7、如果要实现强制刷新组件的情况: 如果是类组件我们都会使用forceUpdate, 在函数组件中, 我们可以用useState来实现, 使用useState的改变state的函数传入一个空对象, 因为每次传入一个空对象的地址不一样所以一定会刷新 8、如果某些状态之间没有必然的联系, 应该分化为不同的状态而非合并成一个对象 9、和类组件一样, 函数组件的状态更改在某些时候是异步的(dom事件下), 如果是异步的更改, 则多个状态的更改会合并, 此时不能信任之前的状态, 而应该使用回调函数的方式改变状态 10、如果函数组件被卸载则表格被清空那么调用useState会被赋初值, 所以为了避免出现bug, 根据react渲染原理, 我们要尽量用style来控制元素的消失和隐藏

参考阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。