在 Meteor+React 中,如何在父 React 组件中渲染子 React 组件?
in Meteor+React, how can i render a child React component in a parent React component?
我已经定义了一个父组件和一个子组件。我在关联它们时遇到错误。
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>
我在浏览器控制台中收到此错误:
Warning: React.createElement: type should not be null, undefined,
boolean, or number. It should be a string (for DOM elements) or a
ReactClass (for composite components). Check the render method of
Parent
.
我确实有其他 React 组件在这个项目中工作,但是 none 其中有这种简单的 parent/child 关系。我做错了什么?
你应该
export Child
而不是 export default Child
或
import Child
而不是 import {Child}
我已经定义了一个父组件和一个子组件。我在关联它们时遇到错误。
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>
我在浏览器控制台中收到此错误:
Warning: React.createElement: type should not be null, undefined, boolean, or number. It should be a string (for DOM elements) or a ReactClass (for composite components). Check the render method of
Parent
.
我确实有其他 React 组件在这个项目中工作,但是 none 其中有这种简单的 parent/child 关系。我做错了什么?
你应该
export Child
而不是 export default Child
或
import Child
而不是 import {Child}