Javascript 如何在ReactJS的类基组件中以双向数据绑定的方式传递数据?

Javascript 如何在ReactJS的类基组件中以双向数据绑定的方式传递数据?,javascript,reactjs,axios,Javascript,Reactjs,Axios,我的问题是在一个子组件中,我有一个通过post方法更新的状态,我必须在我的父组件中显示此状态。这两个组件都是类基组件。ReactJS是一个具有单向数据绑定的库。因此,不可能传递像Angular或VueJS这样的数据。您应该将处理函数传递给子组件,然后在Axios应答之后更新本地组件和父组件 这里有一点提示,类组件和函数组件之间的情况没有什么不同。请注意示例代码: 类ParentComponent扩展了React.Component{ 状态={ 数据:未定义, }; handleGetData=

我的问题是在一个子组件中,我有一个通过post方法更新的状态,我必须在我的父组件中显示此状态。这两个组件都是类基组件。ReactJS是一个具有单向数据绑定的库。因此,不可能传递像Angular或VueJS这样的数据。您应该将处理函数传递给子组件,然后在Axios应答之后更新本地组件和父组件

这里有一点提示,类组件和函数组件之间的情况没有什么不同。请注意示例代码:


类ParentComponent扩展了React.Component{
状态={
数据:未定义,
};
handleGetData=数据=>{
这是我的国家({
数据,
});
};
render(){
返回(
);
}
}
现在,在ChildComponent中,您可以访问handler函数:

class-ChildComponent扩展了React.Component{
componentDidMound(){
const{onGetData}=this.props;
Axios
.get('someSampleUrl')
。然后((数据)=>{
onGetData(data);//运行此更新更新您的父状态
});
}
render(){
返回(
);
}
}

React的做法是单向的。为了获得最佳实践,必须将状态“提升”到父组件中

但如果您特别希望向上传递数据,则需要将回调作为道具向下传递。使用该回调函数向上传递数据:

家长:

<Parent>
   <Child callback={console.log} />
</Parent>

在你的问题中加入一些代码
const Child = (props) => {
    const { callback } = props;
    const postData = (...) => {
        ...
        callback(result);
    }
    ...
}