在Meteor + React中,我如何在父React组件中渲染子React组件?
问题描述:
我已经定义了一个父组件和一个子组件。当我将它们联系起来时,我收到了一个错误。在Meteor + React中,我如何在父React组件中渲染子React组件?
Parent.jsx
import React, {Component, PropTypes} from 'react';
import {Child} from '/imports/ui/components/Child';
export default class Parent extends Component {
constructor(props) {
super(props);
}
render() {
return (
<Child />
);
}
}
Child.jsx
import React, {Component, PropTypes} from 'react';
export default class Child extends Component {
constructor(props) {
super(props);
}
render() {
return (
<div>child</div>
);
}
}
我已经注册与Blaze父:
Template.registerHelper("Parent", function() {
return Parent;
});
...,我像这样使用它:
<div>
{{> React component=Parent }}
</div>
我得到在浏览器控制台这个错误:
警告:React.createElement:类型不能为空,未定义, 布尔或数字。它应该是一个字符串(用于DOM元素)或ReactClass(用于复合组件)。检查渲染方法
Parent
。
我确实有其他React组件在这个项目中工作,但他们都没有这个简单的父/子关系。我究竟做错了什么?
答
你应该
export Child
,而不是export default Child
或
import Child
而不是import {Child}
也许你需要注册的子组件也 –
也许你应该的'出口Child'代替'导出默认的Child'或'Import Child'而不是'import {Child}'。 – caisah
@caisah aggggh是的就是这样。忘了我的模块导入/导出规则,没有什么可做的W/React。如果你把你的评论作为答案,我可以接受它。 – zim