Reactjs 映射到React 16中的片段
我试图映射一个片段的子元素,而这个片段又是一个组件的子元素。例如:Reactjs 映射到React 16中的片段,reactjs,react-16,Reactjs,React 16,我试图映射一个片段的子元素,而这个片段又是一个组件的子元素。例如: const Frag = () => ( <React.Fragment key="test-key"> <div>test1</div> <div>test2</div> </React.Fragment> ); const Outer = ({ children }) => ( <div> {
const Frag = () => (
<React.Fragment key="test-key">
<div>test1</div>
<div>test2</div>
</React.Fragment>
);
const Outer = ({ children }) => (
<div>
{
React.Children.map(children, (child) => (
<a>
{child}
</a>
))
}
</div>
);
// Usage
<Outer>
<Frag />
</Outer>
const Frag=()=>(
测试1
测试2
);
常量外部=({children})=>(
{
React.Children.map(Children,(child)=>(
)似乎表明这应该适用于键控片段,我认为我正在正确创建键控片段()。任何帮助都将不胜感激!是的,但据我所知,您正在迭代外部
子级。
设法
但是,仔细看一下你的链接,我发现文档中有错误的地方
函数永远不会传递给容器对象
下面是一个示例,它清楚地显示了容器被传递给函数:
常数Frag=()=>(
测试1
测试2
);
常量外部=({children})=>(
{
React.Children.map(Children,(child)=>console.log(`child-type是${child.type.name | | child.type.toString()}`))|(
{child}
))
}
);
ReactDOM.render((
测试1
测试2
),document.getElementById('root');
你说得对,确实有效。谢谢!只是为了澄清我是否正确理解了第一个链接,我不需要这样做。它说它应该在一个键控片段上迭代。你对此有什么见解吗?它确实呈现了,但是如果你查看结果html,test1和test2都在一个标记中。我认为t给定一个片段映射,子类将在自己的a
标记中返回test1和test2。
React.Children.map(children[0].props.children, (child) => (