Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何仅使用带有函数组件和挂钩的React?_Javascript_Reactjs_Class_Components_React Hooks - Fatal编程技术网

Javascript 如何仅使用带有函数组件和挂钩的React?

Javascript 如何仅使用带有函数组件和挂钩的React?,javascript,reactjs,class,components,react-hooks,Javascript,Reactjs,Class,Components,React Hooks,有一个React项目,其中一些组件是用类风格编写的,而另一些组件是用钩子风格编写的,这会使新手感到困惑,并且难以重用公共逻辑。有没有办法,例如: 另一个库,如Preact、Inferno,。。。与React兼容,但仅支持挂钩 或者一个ESLint特性,每当有人试图创建React类组件时都会发出警告 为了防止我的开发人员编写类组件,因为我希望我的React项目中的所有组件都是只带有挂钩的功能组件。使用eslint的React插件,并在eslint配置中将React/Prefere state

有一个React项目,其中一些组件是用类风格编写的,而另一些组件是用钩子风格编写的,这会使新手感到困惑,并且难以重用公共逻辑。有没有办法,例如:

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

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

使用eslint的React插件,并在eslint配置中将
React/Prefere stateless function
设置为true

我还需要一个lint规则来实现这一点,所以我写了这篇文章

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


(在其他答案中提到)允许具有状态或实现任何类方法的类组件。

我认为这条规则可以为您做到:谢谢您的回答。但是
首选无状态函数
lint-only警告具有无状态组件。我希望警告也显示有状态组件。因为我希望我的组件100%都是用hooks函数编写的,这将有助于实现我的目标。非常感谢你!