javascript - React hooks,每个状态值一个钩子(Hook)?

标签 javascript node.js reactjs react-hooks

我对 Hooks 还很陌生,对将它用于 future 的项目/工作非常感兴趣。我很想了解更多关于对具有许多不同状态的组件使用 Hook 的最佳实践。据我所知,对于每个状态值,您将使用 useState Hook 。

例如,假设我们有一个基于类的组件,其状态为:

this.state = {
   state1: 0,
   state2: '',
   state3: false,
   state4: [],
   state5: {},
   state6: null
}

如果我要使用钩子(Hook)来转换它...最好的做法是对每个状态使用 useState(总共 6 个 useState)或者是否有更好的怎么办?

谢谢大家!

最佳答案

根据我的选择,我认为最佳做法是:

   const [state1, setState1] = useState(0)
   const [state2, setState2] = useState('')
   const [state3, setState3] = useState(false)
   const [state4, setState4] = useState([])
   const [state5, setState5] = useState({})

因为你要控制的每个状态局部都是不同类型的。您可以更灵活地控制每个变量。

但是如果你想处理你的情况,你可以这样做:

   const [state, setState] = useState({
       state1: 0,
       state2: ''
       state3: false
   })

更新 state1 和 state2 时:

   setState({
      ...state,
      state1: 1,
      state2: "yada"
   })

关于javascript - React hooks,每个状态值一个钩子(Hook)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58137848/

相关文章:

javascript - 在 react-native 中自动化应用程序图标/启动画面链接(可能使用 rnpm)?

javascript - 在 JavaScript 中,如何在没有 document.write() 的情况下创建动态版权日期?

javascript - 为特定隐藏字段赋值 javascript/jquery

javascript - 正则表达式匹配分隔符后的任何内容

javascript - 检测浏览器推送通知已启用并显示警报

node.js - 构建 nodejs 失败,退出状态 126 - 权限被拒绝

json - 如何从Redis获取所有数据到JSON

javascript - nodejs 的 pubsub 设计模式

javascript - 使用 CSS 类或渲染状态更改来提高效率?

reactjs - 在 Visual Studio 2019 中调试 React App 不起作用