React组件有必要从React. component扩展吗?
Is it necessary for a React component to extend from React.Component?
在React 0.13之后,我们可以使用ES6 class来创建像上面这样的React组件:
class A extends React.Component {
// ...
}
但是,如果我偶尔忘记输入extends React.Component
,只要我不使用this.setState()
这样的简单方法,组件A仍然可以很好地工作。
我开始认为React组件从React.Component
扩展是必要的。
在FLUX或Redux这样的架构中,有智能的React组件和愚蠢的React组件。智能的连接到数据存储,而愚蠢的只从父母那里接收道具并渲染。我已经知道在React 0.14中,我们可以简单地为愚蠢的人写一个纯函数。
然而,在智能组件中也存在一些组件有状态而一些组件没有状态的差异。如果输入extends React.Component
和不只是this.setState()
之间的差异,当我的组件不需要管理自己的状态时,我只是不extends React.Component
。
一个React组件是否需要从React. component扩展?
不在React v0.13中,但将在v0.14中:
ES6组件类现在必须扩展React.Component
,以便启用无状态功能组件。ES3模块模式将继续工作。
因此,为了支持函数作为简单的无状态组件(您提到的),似乎类需要扩展React.Component
。
相关文章:
- 如何让 React Native 在编译发布时将 JS 包放入共享扩展中
- 如何扩展React类
- 如何扩展通过 React.createClass 创建的 React 组件类
- 在 Chrome 扩展中使用 react JS
- 创建自定义 PropType,以扩展 react 中的默认 PropType
- React(来自Facebook的应用程序框架)和react.js(JS的反应式扩展)之间有什么区别/相似之处
- 用成员函数扩展React.js存储数据结构
- React.Component是导出时的默认扩展
- React.createClass和<名称>扩展组件
- React更改孙上的道具:对象不可扩展/树遍历React子对象
- React/Flux-如何扩展存储
- 在 React.js 中覆盖/扩展 ES7 类的静态属性
- React组件有必要从React. component扩展吗?
- 在创建React组件时,我应该使用功能组件吗?创建或扩展React.Component
- 得到警告:React组件类必须扩展React. component.在反应
- React使用ES5扩展类
- 如何在react-redux中使用扩展操作符修改索引处的特定对象
- 从chrome扩展更改React.js的表单值
- 警告:PageContainer(..): React组件类必须扩展React. component
- 如何修改react扩展类