Javascript 反应路由器从子类更新父状态

Javascript 反应路由器从子类更新父状态,javascript,reactjs,react-router,Javascript,Reactjs,React Router,假设我的路线如下: <Route name="base" path="/" component={Base}> <Route name="A" path="/a" component={A}></Route> </Route> var Base = React.createClass({ getInitialState() { return {current: 1} }, render() { return (

假设我的路线如下:

<Route name="base" path="/" component={Base}>
  <Route name="A" path="/a" component={A}></Route>
</Route>
var Base = React.createClass({
  getInitialState() {
    return {current: 1}
  },
  render() {
    return (
      <div>{this.state.current}</div>
      <div>{this.props.children}</div>
    );
  }
});


var A = React.createClass({
  componentDidMount() {
    // how to set base class state
    // 
  },
  render() {
     ....
  }
});

我想从
A
componentDidMount
方法中设置或更新
Base(this.state.current)
状态,我应该在场景中执行什么操作。

要使此工作正常,您可以得到如下结果:

var Base = React.createClass({
  getInitialState() {
    return {current: 1}
  },
  render() {
    return (
      <div>{this.state.current}</div>
      <div>{this.props.children}</div>
      <div>{this.props.demo}</div>
    );
  }
});

export default connect(state => ({
  demo: state.demo
}))(Base);

---

var A = React.createClass({
  componentDidMount() {
    // how to set base class state
    //

    this.props.setDemo('demo');
  },
  render() {
     ....
  }
});

export default connect(() => ({}), {
  setDemo
});
var Base=React.createClass({
getInitialState(){
返回{current:1}
},
render(){
返回(
{this.state.current}
{this.props.children}
{this.props.demo}
);
}
});
导出默认连接(状态=>({
演示:state.demo
}))(基础);
---
var A=React.createClass({
componentDidMount(){
//如何设置基类状态
//
this.props.setDemo(“demo”);
},
render(){
....
}
});
导出默认连接(()=>({}){
setDemo
});
此解决方案基于和,但应该可以将其应用于其他系统。想法是一样的


如果使用Redux,则需要实现与上述语义匹配的操作和缩减器。

您是否愿意使用Redux或mobx等状态管理解决方案?有什么特别的限制吗?不要使用状态管理解决方案,只使用简单的react路由器类@贝布拉沃克,不知道他们。从外观上看,react路由器API无法轻松访问父级,因此如果没有它,这将很难解决。嗯,也许我应该导入状态管理,非常感谢@贝布拉