使用
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条)