在命名
useReducer
钩子的输出时,是否有任何可靠且可读的命名标准?使进一步组件的逻辑更容易理解的最佳实践是什么?
命名
useState
的输出非常直观,通常可以归结为:
const [value, setValue] = useState(0);
但我觉得它对于
useReducer
钩子来说并不那么明显。在我找到的所有示例中,最常见的方法是:
const [value, dispatch] = useReducer(reducer, 0);
但是,当组件内使用多个减速器时,它就没有意义了。
可以简单地使用:
const [value, dispatchValue] = useReducer(reducerX, 0);
const [count, dispatchCount] = useReducer(reducerY, 0);
但这似乎并不能说明减速器函数实际的作用(与
setValue
相反,顾名思义,设置值)。
通过动作名称命名它们,例如:
const [value, incrementValue] = useReducer(reducerX, 0);
const [count, multiplyCount] = useReducer(reducerY, 0);
似乎更好,但另一方面,这些并没有严格告知我们不再使用调度/减速器钩子。
不要使用reducerX,reducerY,你最好使用正确的命名约定:
const [value, incrementValue] = useReducer(valueReducer, 0);
const [count, multiplyCount] = useReducer(countReducer, 0);
对于reducer函数名称,最好使用setValue而不是incrementValue
其他函数和变量也遵循相同的方法。