反应,函数还是类?

我今天应该如何编写应用程序以做出反应?

有些人认为您不应编写基于类的代码,而应在函数上编写所有内容。

哪种方法更好,为什么呢? 今天不再推荐编写基于类的应用程序吗?

function Welcome(props) {
  return <h1>Hello, {props.name}</h1>;
}

class Welcome extends React.Component {
  render() {
    return <h1>Hello, {this.props.name}</h1>;
  }
}
评论
  • 女汉子
    女汉子 回复

    这实际上取决于您的团队可以满意的条件以及您的要求是什么

    react-hooks have made writing components as function really easy and provided a lot of functionalities similar to lifecyles in functional components

    现在,对于一个维护状态并具有一些事件处理程序的简单组件,使用钩子编写组件确实非常容易,并且您可以简单地使用功能组件,因为React的未来就在那里

    However you must note that, getSnapshotBeforeUpdate, getDerivedStateFromError and componentDidCatch lifecycles are yet not available with hooks and you must use classes to implement them.

    注意:钩子可能有点学习困难,一开始可能会给您带来封闭问题,我建议您先使用钩子编写更简单的组件,然后随着您的适应而转向复杂的组件