我正在开发一个React Native应用程序,其中我正在从子组件中调用父函数,并且该子函数被调用,但它不会改变状态。基本上,我是从子级中打开一个模态,并希望通过更改模态上的某些内容并关闭模态来更改父组件的状态。
这是父母:
constructor(props) {
super(props);
this._toggleModal = this._toggleModal.bind(this)
this.state = {
isActive: false}}
_toggleModal = async() => {
this.setState({ isModalVisible: !this.state.isModalVisible })
}
doSomthing(x) {
console.log(x)
this._toggleModal;
}
render() {
return (
<RateModal toggleCall1={this.doSomthing}/>
)}
这是孩子:
ratingCompleted = async(rating)=> {
console.log("Rating is: " + rating)
await this.props.toggleCall1(false)
}
在给定等级的情况下,我从孩子那里获得了false
个道具,但它并没有改变父母的状态。该如何解决?
答案 0 :(得分:1)
尝试
doSomthing = (x) => {
console.log(x)
this._toggleModal();
}
您需要绑定此上下文或将功能更改为箭头功能
答案 1 :(得分:0)
您需要调用该函数
this._toggleModal()