this.props.children
当我.map()
从父级传播 a 的结果时,我有一些奇怪的行为正在转换为对象。
例子:
const items = [
{ id: 1, name: "Name1" },
{ id: 2, name: "Name2" }
].map((item) => {
return (
<DropdownMenu_listItem key={item.id} item={item} />
);
});
render() {
return (
<DropdownMenu
label={'Some label'}
onChange={() => {}}
>
{...items}
</DropdownMenu>
);
}
// DropdownMenu.js
render() {
console.log(this.props.children); // {0: {…}, 1: {…}}
return (
// ...
);
}
Run Code Online (Sandbox Code Playgroud)
奇怪的是,当我省略.map()
和直接传递元素时,它们会this.props.children
像预期的那样以数组的形式出现:
render() {
return (
<DropdownMenu
label={'Some label'}
onChange={() => {}} …
Run Code Online (Sandbox Code Playgroud)