Redux
を使用しているので、それを保管しないでください。
CreateOrder
は、作成され、ストアに追加されるオブジェクトのパラメータを順番に受け入れます。
React
コンポーネントは、React
にフィードバックされるRedux
にディスパッチする必要があります。例えばので
(私が正しく質問を理解している場合):ストア内
MyReactComponent = React.createElement({
...
saveOrder: function(e) { //assuming it is a button
var myOrderObject = {
//properties...
}
this.props.createOrder(myOrderObject);
}
.....
});
var mapStateToProps = function (state) {
return {
orders: state.orders
};
}
var mapDispatchToProps = function (dispatch) {
return {
createOrder: function (properties) {
dispatch(myService.create(properties));
}
}
};
module.exports = ReactRedux.connect(mapStateToProps, mapDispatchToProps)(MyReactComponent);
次に、あなたがサービス
に送信したものに比較して、キーとディスパッチ関数にオブジェクトを作成します
//myService
var load = function (data) {
return function (dispatch, getState) {
dispatch({
type: "createOrderKey",
payload: data
});
};
};
あなたの減速で
function updateReducer(state, action) {
var newstate;
switch (action.type) {
case "createOrderKey:
//clone state to newState
//create and add the object
return newstate;
default:
return state;
}
};
[OK]を、ので、私は内部の別々のディレクトリにmaのロジックを維持することを決定しましたモジュールディレクトリ。私はモジュール "支払い"を持って、そこに私は "モデル"ディレクトリを作成しました(まあ...私は良い名前を見つけることができません)とそこに私は "orderFactory.js" 私は今この工場を私の減量主体の初期状態として使うことができますし、私のアクションクリエイターはバックエンドにフルオーダーを送ることができます。 私のレデューサーは純粋なままで、アクションクリエイターはビジネスロジックを処理します(注文にタイムスタンプを追加し、パラメーターを並べ替えるなど)。 – kzg