如何使用React与功能组件和挂钩ONLY



React项目中的一些组件是用class风格编写的,而另一些组件则用Hooks风格编写,这会让新来者感到困惑,更难重用公共逻辑。有没有办法,例如:

  • Preact、Inferno、,。。。与React兼容,但仅支持挂钩
  • 或者ESLint功能,每当有人试图创建React类组件时都会发出警告

以防止我的开发人员编写Class组件,因为我希望React项目中的所有组件都是只带钩子的功能组件。

我还想要一个lint规则来实现这一点,所以我编写了eslint插件react preferred函数组件。

唯一不能作为函数组件编写的组件是那些实现componentDidCatch的组件,因此默认情况下允许实现该方法的组件。此选项是可配置的。

eslint-plugin-react/preference无状态函数(在其他答案中提到(允许具有状态或实现任何类方法的类组件。

使用esint的react插件https://www.npmjs.com/package/eslint-plugin-react并在eslint配置中将react/prefer-stateless-function设置为true

相关内容

  • 没有找到相关文章

最新更新