Javascript react无状态组件是否等于reacadom.PureComponents

Javascript react无状态组件是否等于reacadom.PureComponents,javascript,reactjs,react-redux,web-component,Javascript,Reactjs,React Redux,Web Component,根据文件() “React.PureComponent与React.Component完全相同,但实现了 shouldComponentUpdate()与浅属性和状态比较。“ 所以如果我定义如下的东西 const MyView = () => { return ( <div>Hello Stateless Component</div> ) }; constmyview=()=>{ 返回( Hello无状态组件 ) }; 它是React.Pure

根据文件()

“React.PureComponent与React.Component完全相同,但实现了 shouldComponentUpdate()与浅属性和状态比较。“

所以如果我定义如下的东西

const MyView = () => {
  return (
    <div>Hello Stateless Component</div>
  )
};
constmyview=()=>{
返回(
Hello无状态组件
)
};

它是React.PureComponent吗?它是否做了一个肤浅的道具和状态比较?

首先,您编写的组件是功能组件,而不是纯组件

纯组件意味着您知道,若组件获得相同的道具并再次声明,它不需要重新呈现自身或其子组件,所以它从shouldComponentUpdate方法返回false,这样就不会执行componentWillUpdate、render和componentdiddupdate。

它们根本不相等。 无状态组件或官方名称
React无状态功能组件(RSFC)
没有“状态”

React组件接收用于从外部传递参数的道具,并使用
状态
对象作为
内部状态控制对象
,我们调用
设置状态
函数来修改
状态
对象以触发组件的重新渲染器,
RSFC
仅接收道具并返回相应的JSX元素,它没有“内部状态”对象

PureComponent
React.PureComponent
,它不是一类组件的通用术语,它是
React.PureComponent
类,可以从中扩展,我们使用

class MyComponent extends React.PureComponent{}
告诉react
MyComponent
是纯成分

如果您希望
组件显示并更新时间本身,则应使用
PureComponent
,并且在
RSFC


有关组件和PureComponent之间的差异的更多信息可能会有所帮助。

我不这么认为。扩展
的组件会做出反应。PureComponent
被视为纯组件。