Javascript 如何将react儿童作为<;儿童/>;而不是{儿童}
我有一个简单的组件:Javascript 如何将react儿童作为<;儿童/>;而不是{儿童},javascript,reactjs,react-native,Javascript,Reactjs,React Native,我有一个简单的组件: const Test = ({header}) => <View> <Header /> </View>` const Test=({header})=>` 这样称呼它: <Test header={<View> Test </View} /> 您可以这样做: const Test = ({children}) => <View> {children} </View>
const Test = ({header}) => <View> <Header /> </View>`
const Test=({header})=>`
这样称呼它:
<Test header={<View> Test </View} />
您可以这样做:
const Test = ({children}) => <View> {children} </View>
<Test>
<Header/>
</Test>
const Test=({children})=>{children}
然后像这样使用它:
const Test = ({children}) => <View> {children} </View>
<Test>
<Header/>
</Test>
要了解更多信息,请阅读文档如果您想将道具传递给您的孩子,请查看带有函数的React API
你可以让你的孩子使用
函数组件({children,…props}){
const newChildren=React.Children.map(Children,child=>{
返回React.cloneElement(child,{…child.props,…props});
});
返回(
{newChildren}
);
}您可以尝试这样做
const Test=({header})=>{
返回
{React.cloneElement(头,ObjectContainingPropsYouWantToPass)}
}
如果您想实现这一目标,请告诉我
常量测试=({header:header})=>
我不能用coz header!=校长对不起,我更新了我的answer@AjeetShah因为1。这是一个组件,所以应该像>一样渲染,2我需要将道具传递到it@RedBaron不,不应该。只要它是React.Node
,接收组件就会渲染它。我需要传入一个prop-tho吗?我该怎么做?这是因为你试图直接呈现像{data}
这样的东西,而不是你想要呈现的实际信息,比如{data.title}
。啊,我是个白痴,并没有完全按照我的意思进行解构。我只是想证明一点,将标题作为
调用是没有用的。一般来说,将此类建议作为问题的注释而不是答案(显然不是答案)更有用。这很可能解释了你收到的反对票。