react中的组件constructor(props)的意义和作用

今天写组件的时候突然发现了以下这两种情况都可以创建组件:

// 第一种写法,继承Component的组件来创建组件
class TodoItem extends Component {
  render() {
    return (
      <div>
        
      </div>
    );
  }
}

export default TodoItem;

// 第二种写法,直接写函数return组件

export default function TodoItem() {
    return (
        <div>
            TodoItem
        </div>
    )
}

一直在想这两个都可以创建组件,那他俩有什么区别呢?

functions创建的组件没有生命周期,继承class的组件有react的生命周期,可以使用生命周期里面的方法。仅仅是创建组件,本质上没什么区别。但是如果组件要接受父组件传过来的参数写法略有不同。

函数式组件里面没有 this,也没有 state,函数式组件本身是没有状态的。

// 第一种写法,继承Component的组件来创建组件
class TodoItem extends Component {
    constructor() {
        super(props);    
    }
  render() {
    return (
      <div>
        {this.props.title} // 这里接受传过来的值
      </div>
    );
  }
}

export default TodoItem;

// 第二种写法,直接写函数return组件

export default function TodoItem(props) {
     console.log(props) // 接受参数
    return (
        <div>
            TodoItem
        </div>
    )
}

至于生命周期,其他的用法,我研究透了再更新一下这个博文。未完待续。。。。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值