class MyComponent {
constructor(props){
super(props);
}
render() {
return <View />
}
}
class Test() {
constructor(props){
super(props);
this.onClick = this.onClick.bind(this);
}
onClick() {
this.my.setPorps({
show: true,
});
}
render(){
return <MyComponent ref={ ref => this.my = ref }/>
}
}
如果我触发onClick功能,则会导致:
undefined不是一个函数(评估&#39; _this3.progressbar.setProps({ 禁用:真})&#39)
任何人都可以帮助我吗?非常感谢!
答案 0 :(得分:0)
来自React docs:
此方法已弃用,很快就会删除。扩展React.Component的ES6类组件不提供此方法。而不是调用setProps,尝试使用新的道具再次调用ReactDOM.render()。
https://facebook.github.io/react/docs/component-api.html#setprops
(同样在你的例子中拼写它setPorps
,但它无论如何都不会起作用)
看起来你只想告诉组件展示自己,在这种情况下,父状态可以更新并作为道具传递给孩子:
class Test() {
constructor(props){
super(props);
this.state = {
show: false
};
this.onClick = this.onClick.bind(this);
}
onClick() {
this.setState({
show: true
});
}
render() {
return <MyComponent show={this.state.show} />
}
}