【发布时间】:2021-04-22 19:54:33
【问题描述】:
是否可以强制使用 React 钩子的特定顺序?例如,一些 linting/prettier 设置将始终确保首先使用“useState”钩子,然后才使用“useEffect”钩子。假设我有以下代码:
const MyComponent = () => {
const [myState1, setMyState1] = React.useState();
const [myState2, setMyState2] = React.useState();
React.useEffect(() => {
runSomeEffect()
}, [])
const [myState3, setMyState3] = React.useState();
return <div>...</div>
}
我想要一些警告,第三个useState 钩子应该移到顶部。我研究了 Eslint 和 Prettier,但我不认为其中任何一个都有强制执行 React 钩子顺序的规则。
【问题讨论】:
-
您不能使用 useState 但可以使用其他挂钩来替换 useState 功能。 EG、UseContext、UseReducer (Redux)。
标签: javascript reactjs eslint