当前位置: 首页 > 知识库问答 >
问题:

react,用扩展类创建组件与简单const=function之间的差异

米楷
2023-03-14
class TodoApp extends Component {
  render() {
    const visibleTodos = getVisibleTodos(
      this.props.todos,
      this.props.visibilityFilter
    );
    .
    . // Input and Button stuff
    .
const FilterLink = ({
  filter,
  children
}) => {
  return (
    <a href='#'
       onClick={e => {
         e.preventDefault();
         store.dispatch({
           type: 'SET_VISIBILITY_FILTER',
           filter
         });
       }}
    >
      {children}
    </a>
  )
}

我看到的区别是,首先用类创建的是一个呈现函数,而另一个是一个返回函数来发回模板。

有什么不同?我听说将来的组件只允许使用扩展组件

共有1个答案

章烨烨
2023-03-14

参见:react.createClass与ES6箭头函数的对比

简单的回答是,您希望尽可能多地使用无状态功能组件(SFC);你的大部分组件应该是证监会的。

在下列情况下使用传统的组件类:

    null
 类似资料:
  • 问题内容: 在反应教程中: https://egghead.io/lessons/javascript-redux-react-todo-list-example- filtering-todos 有主要组件创建与扩展: 而另一个组件就像一个包含函数的const一样创建: 我看到的区别是,首先使用class创建的函数使用了render函数,另一个则使用return函数将模板发回。 有什么区别?我听

  • 什么时候只能使用其中的一个? 何时可以同时使用和如何选择一个?

  • 问题内容: 建立: BabelJS(ES2015,React,Stage-1) Webpack React / Redux CommonJS和ES6的新功能。我知道对象实例和方法的静态容器之间的区别,但是我不确定它们分离到模块后的行为。所以我想知道返回实例之间有什么区别(此模式完全有效吗?): 并导出const方法: 方法A:每次导入时都会有一个新实例吗? 方法B:使用对象分解功能的好处之一: 然

  • 当用户查看我们的租借列表时,他们可能希望有一些交互式选项来帮助他们作出决定。让我们添加切换每个租赁图像大小的功能。为此,我们将使用一个组件。 我们生成一个rental-listing组件来管理我们每个租赁的行为。每个组件名称中都要有一个破折号,来避免与可能的HTML元素冲突,因此命名rental-listing允许,受但命名rental不允许。 生成一个组件: $ ember g componen

  • jsx 使用上面的代码,im得到控制台错误:

  • 本文向大家介绍.NET Core 3.0之创建基于Consul的Configuration扩展组件,包括了.NET Core 3.0之创建基于Consul的Configuration扩展组件的使用技巧和注意事项,需要的朋友参考一下 经过前面三篇关于.NET Core Configuration的文章之后,本篇文章主要讨论如何扩展一个Configuration组件出来。 了解了Configurati