나는 감속기를 여러 파일로 분할하여 제대로 관리 할 수있는 상황이 있습니다.복수의 감속기를 결합
내가 감속기로 2 가지를 할 것이라고 말합니다.
- 핸들 제품 만 해당됩니다.
- 연락처 만 처리합니다.
작동하는 동일한 파일에서 수행 할 수 있지만 관리하기가 어려워집니다.
따라서 이동 사용자 가독성을 위해 분할하고 싶습니다.
여기 나는 감속기 파일을 분할하려고했습니다.
이것은 제품을 가져 오는 데 사용할 단축기 중 하나입니다.
module.exports.products=function(state, action) {
console.log("################################## branch_order");
console.log("reducer",state,action);
if (state==null) {
return {};
}
var new_state=$.extend(true,{},state); // XXX: deep-copy
console.log(action.type,"action type")
switch (action.type) {
case "PRODUCT_LOADING":
new_state.product_loading=true;
break;
case "PRODUCT_LOADED":
new_state.product_loading=false;
new_state.product=action.product;
break;
}
console.log("new_state",new_state);
return new_state;
}
다음은 연락처를 저장할 다른 축소 기입니다.
module.exports.contacts=function(state, action) {
console.log("################################## pawn_order",state);
console.log("reducer",state,action);
if (state==null) {
return {};
}
return state;
은}
이 내가 감속기를 결합하고 방법이다.
var product = require("./prodcut")
var contact = require ("./contact")
var combineReducers = require ('redux').combineReducers
module.exports = combineReducers({product,contact});
이것은 내 주 파일에서 전화를 걸어 저장하는 방법입니다.
var reducers = require ("./reducer") /// <<<<< this is how i call
var RPC = require('./RPC')
//var actions = require("./actions")
var createStoreWithMiddleware=applyMiddleware(thunkMiddleware)(createStore);
var store=createStoreWithMiddleware(reducers);
ReactDOM.render(<Provider store={store}><Index/></Provider> , document.getElementById('content'))
나는 combine reducers에서 자습서를 따라하려고했지만 몇 가지 문제가 발생했습니다.
결합이 작동하는 것 같습니다.
무엇이 잘못 되었나요?
최초의 감속기는 (내가 두 번째 만회 (접촉)라고 전체 상태가
나는 상태에서 데이터를 추가 할을 대체 할 것으로 보인다 때 작동 (제품)를 호출하면 ? 난 내 접촉하는 상태 데이터를 호출하는 방법을
그냥 정보를 원하시면이가) 도와주세요 그것을하는 방법을 모른다 :
var select=function(state){
return {
product_loading:state.product_loading,
product:state.product,
}
}
을 그리고 이것은 내가 어떻게 내 구성 요소에 전화하십시오
render:function(){
if (!this.props.product_loading) return <div> Loading</div>
미리 감사드립니다. 앞으로 몇 가지 해결책을 기대합니다.
실용적인 예제를 함께 뽑아서 재생할 수 있습니까? (예 : jsbin) –
감속기는 각 감속기가 전체 상태의 자체 비트와 멍청이를 가지고 있음을 의미하는 별도의 상태 나무에서 작업합니다. 따라서 "글로벌"상태 (다른 감속기에서와 같이)는 보이지 않지만 현재 감속기에 관심이있는 상태를 복제해야합니다. –