Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 反应复合成分_Reactjs - Fatal编程技术网

Reactjs 反应复合成分

Reactjs 反应复合成分,reactjs,Reactjs,在我的父组件中,我想这样做 import List from '../List' export default class Example extends Component { .... <List> <List.Item> Author </List.Item> </List> } 从“../List”导入列表 导出默认类示例扩展组件{ .... 作者 } 所以列表项没有显式导入 我收到此警告是因为:

在我的父组件中,我想这样做

import List from '../List'

export default class Example extends Component {
....
  <List>
    <List.Item>
      Author
    </List.Item>
  </List>
}
从“../List”导入列表
导出默认类示例扩展组件{
....
作者
}
所以列表项没有显式导入

我收到此警告是因为:

警告:React.createElement:类型无效--应为字符串(对于内置组件)或类/函数(对于复合组件),但Get:未定义。您可能忘记了从定义组件的文件中导出组件,或者您可能混淆了默认导入和命名导入

那么,如何在定义的组件(如列表)中动态地允许子组件呢

在我使用的列表中

const listItems = React.Children.map(children, (child) => {
  if (React.isValidElement(child)) {
    console.log(child)
    return React.cloneElement(
      <ListItem />, child, child.props.children
    )
  }
  // return <ListItem {...child.props} />
})
const listItems=React.Children.map(Children,(child)=>{
if(React.isValidElement(子项)){
console.log(子级)
返回。克隆元素(
,孩子,孩子。道具。孩子
)
}
//返回
})

要在列表组件中呈现实际的ListItems组件,我可以使用

 List.Item = ''
导出默认列表

然后我可以导入列表并使用

<List>
  <List.Item>...

...

您没有使用该格式有什么原因吗?我们需要查看您的
List.js
文件的完整代码。我们需要看看你们在出口什么。或者不导出。如何导出
列表
组件?或者尝试从“/List”导入{List}