전화 할 API 서비스가 많기 때문에이 서비스를 위해 축소 기 (reducers)를 많이 작성해야합니다. 동적으로 아래의 축소 기 작성자를 구현할 수있는 방법이 있습니까? 명시 적으로 구현 아래에 해당 될 수 있습니다Reux with Reux 프로젝트에서 API 서비스 호출을위한 동적 축소 기 생성자를 구현하는 방법은 무엇입니까?
const PENDING = 'PENDING'
const REJECTED = 'REJECTED'
const FULFILLED = 'FULFILLED'
const COMPANIES = 'COMPANIES'
let createReducer = (name) => (state, action) => {
switch (action.type) {
case name + '_' + PENDING:
return {...state,
isLoading: false
}
case name + '_' + FULFILLED:
return {...state,
companies: action.payload,
isLoading: false
}
case name + '_' + REJECTED:
return {...state,
isLoading: false,
err: action.payload
}
default:
return state
}
}
let comapnyReducer = createReducer(COMPANIES)
:이 예제의
const comapnyReducer = (state={isLoading: false}, action) => {
switch (action.type) {
case 'COMPANIES_PENDING':
return {...state,
isLoading: false
}
case 'COMPANIES_FULFILLED':
return {...state,
companies: action.payload,
isLoading: false
}
case 'COMPANIES_REJECTED':
return {...state,
isLoading: false,
err: action.payload
}
default:
return state
}
}
방법 I시피 상태 출력 –