1. 在循环中为元素选择 key 时,应使用一个标识符,该标识符对于相同的列表元素总是相同的,而不是数组索引
  2. 在定义组件时,请在文件/模块的顶层定义它,而不是嵌套在另一个组件或函数内部
  3. 在决定存储什么状态时,应存储可以用来计算你所需的最小表示
  4. 在考虑是否使用 userMemouseCallback、或者 React.memo 缓存时,应在观察到性能问题后再进行缓存
  5. 在将共享代码提取为函数时,只有在它调用其他钩子时才将其命名为钩子
  6. 当你需要根据属性变化调整状态时,请直接在渲染期间直接调整状态,而不是在效果中设置
  7. 当你需要获取数据时,建议使用库而不是 useEffect
  8. 当你需要对某个事件发生做出反应时,应在事件处理函数中编写代码,而不是在 useEffect
  9. 当 useEffect 依赖项导致你不希望的重新渲染(包括无限循环)时,不要仅仅从数组中移除依赖项:也要从效果函数中移除依赖项

详情查看:The nine best recommendations in the new React docs
其他:React 之道 - 软件设计、架构和最佳实践