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}