首页 > 解决方案 > 在函数和类组件之间反应`onClick`变化

问题描述

在官方反应教程中,他们首先编写类组件:

class Square extends React.Component {
 render() {
   return (
     <button className="square" onClick={() => this.props.onClick()}>
       {this.props.value}
     </button>
   );
 }
}

然后使其成为功能组件

function Square(props) {
  return (
    <button className="square" onClick={props.onClick}>
      {props.value}
    </button>
  );
}

为什么onClick需要改变?

谢谢

标签: javascriptreactjs

解决方案


在函数组件中,props 是通过参数props直接访问的(注意它是如何传入的),因为它是一个对象。在类组件中,props存在于类本身上,不存在名为 的变量props


推荐阅读