"无状态功能组件"与"ES6类组件"相比有哪些优势?

Rot*_*eti 5 javascript reactjs

我经常读到如果可能的话我应该使用'无状态功能组件',但大多数没有任何解释原因.有什么好处?

gap*_*ton 3

首先,无状态函数组件渲染速度更快,因为 React 渲染管道中有针对它们的优化的短路径。

其次,代码更加简洁,因为您输入的内容更少,而且几乎没有视觉噪音。当然,如果你使用现代 JS。看看,我正在定义一些“自定义标签”:

const MyFancyDiv = ({ children, ...otherProps }) => (
    <div { ...otherProps } className='i-am-fancy-wrapper'>
        { children }
    </div>
);
Run Code Online (Sandbox Code Playgroud)

对于没有状态、上下文或自定义生命周期方法的所有内容,这是首选方法。

这实际上是 React 的一个特点,使它很难被任何其他框架击败。可以的时候使用它。