我尝试通过从子级获取值来设置父级状态,不幸的是我收到错误,说setState不是父组件中的函数。
App.js
class App extends Component{
state={
data:{name:''}
}
getName(name){
this.setState({data:{name:name}});
}
render(){
const {data}=this.state;
return(
<div>
<h2>Name : </h2>{data.name}
<MyName getName={this.getName}/>
</div>
)
}
}
MyName.js
class MyName extends Component{
state={
data:{name:''}
}
onChange = (e, {name, value }) =>
this.setState({ data:{ name: value} },() => {
this.props.getName(this.state.data);
})
render(){
const {data}=this.state;
return(
<div>
<form>
<input
type='text'
value={data.name}
onChange={this.onChange}
</form>
</div>
)
}
}
是否可以这样做,如果可能,任何人都可以告诉我如何。
答案 0 :(得分:0)
更改
<MyName getName={this.getName}/>
到
<MyName getName={name => this.getName(name)}/>