由於您使用的是Redux
,爲什麼不保留它呢?
CreateOrder
然後將接受要創建的對象的參數並依次添加到商店。
React
組件應發送到Redux
,其中反饋到React
。
因此,例如,(如果我理解正確的問題):
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;
}
};
好了,所以我決定繼續在裏面單獨的目錄mA邏輯模塊目錄。我有模塊「付款」,在那裏我創建了「模型」目錄(以及...我找不到更好的名稱),並在那裏我創建了「orderFactory.js」與一個簡單的工廠函數返回基本訂單或訂單提供的屬性。 我現在可以使用這個工廠作爲我的reducer的初始狀態,而且我的動作創建者可以將完整的訂單發送到後端。 由於我的reducer保持純粹,並且動作創建者處理業務邏輯(他們爲訂單添加時間戳,排序參數等)。 – kzg