我应该始终坚持 useState 的命名约定吗

问题描述 投票:0回答:3

我知道通常我们会有这样的事情

const [x,setX] = useState(initialValue)

但我想知道这是否是一个硬性规定。例如,如果我有一个状态(布尔值)来指示按钮是禁用还是启用。我写这样的东西会不会很糟糕

const [buttonEnabled, enableButton] = useState(false)

如果确实不好,鉴于其目的,该状态的一些专有名称是什么?

reactjs react-hooks
3个回答
5
投票

这不是硬性规定。

但这只是一个建议。就我个人而言,将

set
作为变量“x”的前缀有助于我理解该变量负责更新“x”。

对于布尔变量,我更喜欢使用

is
has
will
等前缀。根据你的例子,我会使用,

const [isButtonEnabled, setIsButtonEnabled] = useState(false)

再次强调,这不是规则,而只是一种约定,以便尽可能轻松地理解数据类型和变量的用途。


4
投票

由于这种格式的 useState 只是解构一个数组,所以你可以随意命名它。然而,带有布尔值的名称

enableButton
会让我认为这是一个在调用时将状态值设置为“true”的函数。
set
是一个通用动词,通常用于能够传递您想要的任何值,因此这是一个很好的代码使用提示。

最终归结为能够被未来的您和其他开发人员轻松阅读和理解。


0
投票

由于

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); 
© www.soinside.com 2019 - 2024. All rights reserved.