首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

React-有状态组件和无状态组件

导语:众所周知,组件化是React的核心理念之一。在React中组件分为两种类型-有状态组件和无状态组件。本节内容我们就来看一下二者之间的区别。

区别:

首先回顾我们当前项目代码,其中定义的App.js是有状态组件,Person.js为无状态组件。

// 有状态组件

classAppextendsComponent{

render() {

return(......);

}

}

exportdefaultApp;

// 无状态组件

constperson= (props)=>{

return(......)

}

exportdefaultperson

从上面定义我们看到的明显区别是:有状态组件其实就是一个类,而无状态组件是一个函数。

从数据管理和存储来看:有状态组件可以使用State ,而无状态组件不能使用state,而是使用props来接收数据。

从是否有生命周期方法来说,有状态组件可以使用生命周期方法,无状态组件则不可以使用生命周期方法。原因在于我们数据进行更新主要是更新state,然而state发生变化时会触发生命周期的方法。

使用场景:

区别完两个组件之后,那么我们应该在什么情况下使用有状态组件,什么情况下使用无状态组件呢?

通常情况下,如果我们需要存储数据并且需要对数据做一些增删改查的操作,这时我们需要定义有状态组件;如果只是通过接收数据进行渲染操作,可以使用无状态组件。

在实际开发中,建议更多的使用无状态组件,因为有状态组件带有生命周期函数,会在不同时刻触发更新。所以更多的使用无状态组件可以提高整体的渲染性能。

最后我们将两个组件区别总结为如下:

结语:下节内容我们将介绍React的生命周期钩子函数。感谢大家的关注!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180807G0MFGW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券