我有一个组件(Board)调用另一个组件:(BoardCardContainer)。
这是错误消息:
React.createElement:type无效 - 期望一个字符串(for 内置组件)或类/函数(用于复合组件) 但得到了:未定义。您可能忘记从中导出组件 它定义的文件。检查
Board
的渲染方法。
Board.js:
... bunch of imports
import { BoardCardContainer } from './BoardCardContainer';
export class Board extends Component {
constructor(props) {
super(props);
}
renderCards() {
return this.props.cards.map(card => (
<div key={card._id} style={{ margin: 5 }}>
<BoardCardContainer /> //HERE IS THE PROBLEM!!!!
</div>
));
}
render() { ... }
}
./ BoardCardContainer.js
... bunch of imports
export default BoardCardContainer = withTracker(() => { ... })(BoardCard);
答案 0 :(得分:1)
这是一个非常常见的ES6错误。
您的导入:
import { BoardCardContainer } from './BoardCardContainer';
是通过名称导入,但是您的相应导出:
export default BoardCardContainer = withTracker(() => { ... }
正在导出默认。
只需将导入更改为:
import BoardCardContainer from './BoardCardContainer';