小编Cel*_*iel的帖子

React.js - this.props.children 当从父级传播 .map 的结果时是一个对象

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)

javascript children reactjs

8
推荐指数
2
解决办法
1万
查看次数

标签 统计

children ×1

javascript ×1

reactjs ×1