reactjs - 我应该在 React : functional components or class base components? 中使用什么类型的组件

标签 reactjs react-native react-component react-functional-component

让我感到困惑的是,功能组件和基于类的组件现在都可以使用 StateProps但在不同的实现中。我更喜欢基于类的组件,因为我是 angular 开发人员,我发现使用这些类型的组件更舒服。但是我搜索了这个,许多专家说最好尽可能多地使用功能组件。

我想知道当有人申请 React 开发人员职位时,这对科技公司是否真的很重要。他们会看这些东西吗?由于它们在实现上有很大不同......

最佳答案

之间存在一些差异方法组件 类组件 .

方法组件:

在 React 中声明组件的最简单方法。
你只需要声明一个返回 jsx 的方法.
示例 :

const MessageComponent = ({ name }) => { return <h1>Hi {name}</h1> }

除了引入 React Hooks 之外,您还可以使用 完成大部分功能。方法组件
componentDidUpdate => useEffect(fn)componentDidMount => useEffect(fn, [])state => useState()
类组件:

组件的健壮版本。使用类组件,您可以做更多事情。Props默认情况下,在类上下文中 this.props .
您可以为组件使用状态、局部变量。
您可以添加许多共享相同状态的类的方法。
export default class MessageComponent  extends Component {
  state = {
    message: 'default message'
  }

  renderMessage = () => {
    return (
      <h1>
        Hi {this.props.name}
      </h1>
    )
  }

  render() {
    return (
      <div>
        {this.renderMessage()}
      </div>
    )
  }
}

类组件VS方法组件

不使用的主要原因 类组件是当您只需要一个简单的组件时,例如 button , card ,或代表性组件。如果你的组件不需要复杂的状态、复杂的逻辑,method component最适合你。

关于reactjs - 我应该在 React : functional components or class base components? 中使用什么类型的组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59841274/

相关文章:

javascript - 将 Firebase 元素映射为数组

javascript - ReactJs中通过循环路由路径和组件名

javascript - 通过在 Cloud Firestore 中获取文档名称来删除文档

javascript - react native : Can't see changes to my code

javascript - 当父组件的状态发生变化时,如何在 React 中更新(重新渲染)子组件?

javascript - 如何在 react.js 中导入和使用 D3-tube-map

javascript - React 的不可变元素创建和渲染机制不是效率极低吗?

javascript - 使用 React 和 TypeScript 制作搜索过滤器

javascript - React-navigation重置说明

reactjs - 如何使用 Jest 模拟 React 组件静态方法