【发布时间】:2016-05-12 12:39:45
【问题描述】:
React 组件在变量中给出时如何调用该组件的函数?我有一个Parent 将Test 类传递给Child 组件,而这个孩子想要更改Test 中的某些内容。
export class Parent extends React.Component {
render() {
let test = (<Test />);
return (<Child tester={test} />);
}
}
export class Child extends React.Component {
render() {
this.props.tester.setText("qwerty"); // how to invoke setText, setState or something like that?
return ({this.props.tester});
}
}
export class Test extends React.Component {
constructor(props) {
super(props);
this.state = {
text: this.props.text || ""
};
}
setText(text) {
this.setState({ text: text });
}
render() {
return (<div>{this.state.text}</div>);
}
}
【问题讨论】:
-
您想在
Test中更改什么?您可以将要更改的所有内容作为道具传递并立即渲染。不需要函数。 -
我想在
Child中传递一些东西,其中Test只是从Parent传递的对象的引用。我不能简单地做this.props.tester.text = "sth"
标签: reactjs ecmascript-6 react-jsx jsx