javascript - React 组件是否有必要从 React.Component 扩展?

标签 javascript reactjs

在 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/

相关文章:

javascript - knockoutjs 可观察对象绑定(bind)的可观察数组

javascript - Next.js 路由器中的多个事件监听器

javascript - 通过回车键进行跨组件通信

javascript - jQuery 3D 标签云插件在 IE 和 Chrome 中不起作用

javascript - 使用 JavaScript 动态添加列表项和链接

javascript - 源代码不显示

reactjs - 服务器端渲染后的React-Router客户端错误处理

javascript - 切换按钮处于关闭状态,但其值为 true

javascript - TypeScript 和 Reactjs 中的滚动事件类型是什么

javascript - 使用 Webpack 2 延迟加载样式表