我知道通常我们会有这样的事情
const [x,setX] = useState(initialValue)
但我想知道这是否是一个硬性规定。例如,如果我有一个状态(布尔值)来指示按钮是禁用还是启用。我写这样的东西会不会很糟糕
const [buttonEnabled, enableButton] = useState(false)
如果确实不好,鉴于其目的,该状态的一些专有名称是什么?
这不是硬性规定。
但这只是一个建议。就我个人而言,将
set
作为变量“x”的前缀有助于我理解该变量负责更新“x”。
对于布尔变量,我更喜欢使用
is
、has
、will
等前缀。根据你的例子,我会使用,
const [isButtonEnabled, setIsButtonEnabled] = useState(false)
再次强调,这不是规则,而只是一种约定,以便尽可能轻松地理解数据类型和变量的用途。
由于这种格式的 useState 只是解构一个数组,所以你可以随意命名它。然而,带有布尔值的名称
enableButton
会让我认为这是一个在调用时将状态值设置为“true”的函数。 set
是一个通用动词,通常用于能够传递您想要的任何值,因此这是一个很好的代码使用提示。
最终归结为能够被未来的您和其他开发人员轻松阅读和理解。
由于
useState
函数名称由“use”和“state”组成,因此我的命名约定是将 "state"
保留在变量名称之前。这将使我能够快速识别该变量所属的上下文。
例如:
const [buttonEnabledState, setButtonEnabledState] = useState(false);
// a lot varaibles defined...
// 300 lines
// It's clear that buttonEnabledState is a state, not others.
// doSomething(buttonEnabledState);