2017-01-06 43 views
-1

私はreactjsウェブアプリを持っています。私はサーバーへのリクエストをしたいと思って、アプリケーションの状態全体を含める必要があります。これをどのように達成するのですか?ReactとRedux:アプリケーションの任意の時点で、アプリケーションの状態/ Reduxストアの値を取得するにはどうすればよいですか?

+0

を送るなど、あらゆる目的のためにReducer1を使用することができますなぜあなたは、リクエストに応じて、サービスにアプリケーションの状態の全体を送信しようとしていますか?これは可能ですが、これは良い方法ではありません。 – kwelch

+0

私たちはより良いデバッグができるように、バグのあるシナリオでアプリケーションの状態を追跡したい –

+0

プロダクションスナップショットが必要だと思いますか?開発時には、loggerやdevtoolsのような他のツールを使うことができます。もう1つのオプションは、ストアリスナーを使用して、フェッチ呼び出しで使用する変数にストアリスナーを格納することです。 – kwelch

答えて

0

基本的には、状態(http://redux.js.org/docs/api/createStore.html)でWeb呼び出しを行う前に、ストア全体をcreatestoreライブラリで作成する必要があります。あなたはあなたの希望に応じてそれをグループ化することができるような方法であなたのツリーを構造化することができます組み合わせ還元剤を使用しています。 (http://redux.js.org/docs/recipes/reducers/UsingCombineReducers.html)。例は

export default combineReducers({ 
    stateVariable1 : Reducer1, 
    stateVariable2 : Reducer2... 
}); 

です。各レデューサーは、グループ化する状態の一部として考慮する必要があります。 (http://redux.js.org/docs/recipes/reducers/NormalizingStateShape.html

アプリケーションの任意のコンポーネントで、connectライブラリを使用して、アクションをディスパッチして状態項目を取得するためのステートツリーに接続することができます。また、状態ツリーのどの部分にアクセスしたいかを言い表すこともできます。

例えば

const mapStateToProps = (state) => ({ 
    Reducer1 : StateVariable1 // Reducer1 in component can be accessed as this.props.Reducer1 
}); 

const mapDispatchToProps = (dispatch) => ({ 
    quickinvestListingsActions : bindActionCreators(quickinvestListingsActions, dispatch) // Dispatching actions 
}); 

export default connect(mapStateToProps, mapDispatchToProps)(QuickInvestListings); // This connects the component with the redux state 

だからあなたが要求

関連する問題