将react组件作为道具传递

将react组件作为道具传递,第1张

将react组件作为道具传递

使用

this.props.children
是将实例化组件传递给React组件的惯用方式

const Label = props => <span>{props.children}</span>const Tab = props => <div>{props.children}</div>const Page = () => <Tab><Label>Foo</Label></Tab>

当直接将组件作为参数传递时,您将其未实例化传递,并通过从props检索它来实例化它。这是一种传递组件类的惯用方式,然后由组件沿树实例化(例如,如果组件在标签上使用自定义样式,但它希望让使用者选择该标签是a

div
还是
span
):

const Label = props => <span>{props.children}</span>const Button = props => {    const Inner = props.inner; // Note: variable name _must_ start with a capital letter     return <button><Inner>Foo</Inner></button>}const Page = () => <Button inner=
/>

如果您要传递的是类似于孩子的参数作​​为道具,则可以执行以下 *** 作:
const Label = props => <span>{props.content}</span>const Tab = props => <div>{props.content}</div>const Page = () => <Tab content={<Label content='Foo' />} />

毕竟,React中的属性只是常规的Javascript对象属性,可以保存任何值-可以是字符串,函数或复杂对象。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5642297.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论
请登录后评论...
登录
后才能评论 提交

评论列表(0条)
保存
{label}