一:废话不多说,间接开讲:

这里有三个组件,我想让B组件内展现C组件,也就是说我想让B组件成为C组件的父亲。(这不是废话吗)我这样写不就完事了吗?

然而理论工作当中,咱们常常会临时不太确定B,C组件的关系,等到最初的时候再决定,这时候咱们假如B组件最初必定是C组件的父组件。

其实React中还有第二种让C组件成为B组件子元素的办法。

你如果之前学过提前学过一些知识点话,你对这个必定不生疏,也就是B标签的标签体内容是C标签。

然而如果你单纯这样写的话,很遗憾,页面上是不会显示C标签的

你可能会奇怪,不应该啊,这咋回事啊。

留神重点来了: 这时候你把B的爸爸疏忽了吧?A标签说:你小子在我屁股底下蹦跶不论我了是吧?这时候你其实是在A标签传递给B标签的props的children属性中写内容,你爸爸给你货色,你不收也没方法展现啊,对吧?

ok,页面当初失常显示了

二:renderprops

当初展现是展现了,然而,客户需要忽然变了,想让你的B标签想给C标签一个属性,叫做name,值为"方"让它在C标签中展现,这咋办呢?

你可能会想,这不就是简简单单的父亲向儿子传递数据吗?props不就完事了吗?你于是乐不可支的关上代码,而后找到B标签

奇怪,我的C标签呢?哦,对 在A标签里,我得这样写!

当你刚刚敲下name的时候就发现了,state是B标签的,A标签压根就没有!!

这怎么办呢?

没方法,你只能批改你的代码为这样,给B一个属性,属性值为函数,并且返回值为C标签。
而后咋办?在B标签里调呗!

调用的时候,把name值放进参数里,而后在返回的C标签内间接应用,如下图:

最初一步别忘了,你C标签还没接管呢!

页面成果,胜利显示~

非得叫render吗?不须要,你能够轻易起名字,只不过是程序员之间的一种约定,当你写render的时候,他人看你的代码会马上晓得你行代码的意思。就好比for循环里写i=0,那样相互约定俗称的规矩。

补充一下拓展常识

B组件里加文字,也相当于props,须要你在B组件外部接管才能够应用!