React 0.13带来parent-based context instead of owner-based context。
因此,我无法理解所有者和父组件之间的区别。将举例说明。
答案 0 :(得分:10)
var A = React.createClass({
render() {
return (
<B>
<C />
</B>
);
}
});
在上面的示例中,A是B和C的所有者,因为A会创建两个组件。
但是,B是C的父,因为C作为子传递给B。
更多信息可在documentation。
中找到区分所有者 - ownee是很重要的 关系和亲子关系。所有者 - 欠者 关系是特定于React,而父子关系 只是你知道并喜欢DOM的人。
答案 1 :(得分:1)
来自官方文件:
An owner is the component that sets the props of other components
这里有一个例子,其中A是B的所有者:
var A = React.createClass({
render: function() {
return <B />;
}
});
A是B的所有者,因为B是在A render
函数中创建的。
这是一个例子,其中A是B的父代:
var A = React.createClass({
render: function() {
return <div>{this.props.children}</div>;
}
});
var B = React.createClass({
render: function() {
return <span>B</span>;
}
});
React.render(
<A><B /></A>,
document.getElementById('example')
);
在这个例子中,A是B的父亲,因为A&#39; s props.children
包含B.但是A没有直接知道它是B的父亲,它的子节点可以是任何组件。