javascript - 为什么有人想在 React js 中将一个函数变成一个类

标签 javascript function reactjs class clock

我刚刚开始从官方网站学习 React js,教程中有这一步,为了制作一个工作时钟,您将一个函数转换为一个类。我的问题是,既然可以用更简单的方法来完成,为什么有人要这样做呢?

最佳答案

当您想要访问所有 React.Component 功能(例如 propsstate)时,life cycle methods , refmuch more ,您需要从 React.Componentextend
您只能使用 class(在 ES6 中)

编辑

Just one thing, you can access to props too declaring a function

实际上这不是真的,无状态组件只是返回 jsx 的函数。它们是接受参数的正常、常规函数。
我们有时会使用 props 关键字作为参数,这只是一种习惯或惯例,但您可以使用任何您想要的关键字。

例子:

const MyHeader = (myParams) => (
  // no props here
  <h2>{myParams.value}</h2> 
);

class MyApp extends React.Component{
  render(){
    const {message} = this.props; // i get access to this.props as i extended React.Component
    return(<MyHeader value={message} />);
  }
}

ReactDOM.render(<MyApp message="Hello!" />, document.getElementById('root'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="root"></div>

关于javascript - 为什么有人想在 React js 中将一个函数变成一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46643796/

相关文章:

c - 指针和指针澄清

reactjs - 在渲染方法中设置状态 - Reactjs

c - 为什么不能在 if 语句中使用空指针?

python - python中的函数参数、list和int

javascript - 如何在 React 上正确地将 onclick 处理程序绑定(bind)到 `this`

javascript - 如何在 JavaScript 中使用根节点遍历 json

javascript - MEAN 应用程序出现 Angular 2 错误 : Cannot read property _id of undefined

javascript - Angular 后数组对象

javascript - 如何在<Provider>中使用另一个<Consumer>?

javascript - 如何在 react 中使用向上和向下箭头键使下拉菜单工作