Привет! Такая проблема. Юзаю redux-pack. Есть 3 редьюсера. И когда я делаю fetch для одного редьюсера, то данные сэтятся во все? Почему так происходит? Написал хэлпер себе (defaultHandler), который выполняет эти все действия:
import { handle } from 'redux-pack'
export default function handler(state, action) {
const { payload } = action
return handle(state, action, {
start: prevState => ({ ...prevState, loading: true, errors: null }),
finish: prevState => ({ ...prevState, loading: false }),
failure: prevState => ({ ...prevState, errors: payload }),
success: prevState => ({ ...prevState, data: payload.data }),
})
}
Все три редьюсера одинаковы, отличаются лишь запросом. Один из них:
import axios from 'axios'
import { defaultHandler } from '../../helpers'
const FETCH = 'FETCH'
export const fetchDialogs = () => ({
type: FETCH,
promise: axios.get('https://next.json-generator.com/api/json/get/4k7bLUgzN'),
})
const initialState = {
data: [],
loading: false,
errors: null,
}
function reducer(state = initialState, action) {
switch (action.type) {
case FETCH:
return defaultHandler(state, action)
default:
return state
}
}
export default reducer