react组件通讯

本文详细介绍了React中props的三大特点,包括传递任意类型值、只读性和构造函数中的使用。同时,阐述了React组件间通信的三种主要方式:父传子、子传父和兄弟组件通信。对于子传父,通过回调函数实现;兄弟组件通信则通过状态提升或使用Context API。此外,还提及了多层嵌套组件间的通信解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.props的特点

 1.可以传递任意类型的值,如字符串,数字,对象及函数。

 2.props是只读的对象,只能读取属性的值,无法对其进行修改。

3.如果类组件内有constructor构造函数,应该将props传递给super(),否则无法在构造函数中获取props。

二.组件通讯的三种方式

   2.1.父传子;

      1.父组件提供要传递的state数据。

      2.子组件内标签添加属性,值为state中的数据。

      3.子组件内部再通过props接受数据。 如下图:

        

2.2 子传父

与vue类似,通过子组件出发父组件的回调函数进行传递;

1.先通过父组件给子组件绑定回调函数,并在父组件中进行此函数的定义。

2.再到子组件中绑定一个函数,通过此函数调用props拿到父组件给子组件绑定的回调函数,通过执行此函数可以拿到this.state里的数据,执行父组件的回调函数在父组件中拿到子组件函数传递过来的数据。 如下图:

2.3 兄弟组件

将共享状态提升到最近的公共父组件中,由公共父组件管理这个状态,称之为状态提升;例如组件A和组别B想要互相通信,则可通过公共父组件C进行传递,将A与B的通讯过程拆分为父子间的通讯过程。

另:如有多层嵌套,使用React.creatContext提供的Provider, Consumer组件进行数据的传递

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值