2016-03-27 5 views
2

をルータ更新親状態に反応しますAcomponentDidMountメソッドでは、私はその場で何をするべきですか?この作品は、あなたがこのようなものに終わる可能性がありようにするには、以下のように私のルートを想定子供クラスから

+0

reduxやmobxなどの状態管理ソリューションを使用していますか?特定の制約を覚えていますか? –

+0

状態管理ソリューションを使用せず、単にルータクラスに反応します。 @bebraw – kenticny

+0

オッケー、彼らは考えていない。それを見て、反応ルータAPIは親に簡単にアクセスできないので、これは解決するのが難しいでしょう。 –

答えて

1

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 
}); 

この溶液をReduxreact-reduxに基づいていますが、他のシステムに適応させることが可能であるべきです。アイデアは同じです。

Reduxを使用する場合、上記のセマンティクスに対応するアクションとレデューサーを実装する必要があります。

+0

私はすでにreduxベースの書き直し、同じのおかげで。 – kenticny

+0

冷たく聞こえます。 :) –

関連する問題