在 React 0.13 之后,我们可以使用 ES6 类来创建像上面这样的 React 组件:
class A extends React.Component {
// ...
}
但是,如果我偶尔忘记输入 extends React.Component
,只要我不使用像 this.setState()
这样的简单方法,组件 A 对我来说仍然有效。 .
我开始认为 React 组件有必要从 React.Component
扩展吗? .
在像 FLUX 或 Redux 这样的架构中,有智能 React 组件和哑 React 组件。智能组件连接到数据存储,而dumb组件仅接收来自父级的 props 并进行渲染。我已经知道在 React 0.14 中我们可以简单地编写一个纯粹的 React 组件。为笨蛋提供的功能。
但是在智能组件中也存在差异,有些组件有状态,有些则没有。如果输入 extends React.Component
之间的区别而不仅仅是this.setState()
,我就是不extends React.Component
当我的组件不需要管理自己的状态时。
最佳答案
Is it necessary for a React component to extend from React.Component?
不是在 React v0.13 中,而是 it will be in v0.14 :
ES6 component classes must now extend
React.Component
in order to enable stateless function components. The ES3 module pattern will continue to work.
因此,为了支持函数作为简单的无状态组件(您提到的),类似乎需要扩展React.Component
。
关于javascript - React 组件是否有必要从 React.Component 扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32967995/