使用React通过操纵子元素中的props来操作父元素中的状态是正确的(示例)吗?或者是返回对象和显式setState的正确方法?
下面的例子只是为了显示我在操纵变量的位置:
const Parent = React.createClass({
getInitialState: function() {
person: {name: 'john', age: 47},
},
render: function() {
<div>
<Child person = {this.state.person} />
</div>
}
});
const Child = React.createClass({
render: function() {
let person = this.props.person;
person = {name: 'john doe', age:30};
return(<div> Person {person} </div>);
}
});
答案 0 :(得分:1)
是的,您应该了解您的父母的状态&#39;上课,并将其作为道具传递给您的孩子&#39;类。
你的例子是正确的,除了我不确定你为什么要这样做
person = {...}
再次在Child的渲染类中。
也许你的意思
const Child = React.createClass({
render: function() {
let person = this.props.person;
return(<div> Person {person} </div>);
}
});
这是在docs中: ...道具是不可变的:它们是从父母那里传来的,并且是“拥有的”#34;由父母。