Пытаюсь разобраться с Редаксом, прошу прощения если мой вопрос банален.
У меня есть несколько редьюсеров собранных вместе с помощью combineReducers() и один большой ActionCreator.js со всеми действиями. Есть ли какая-нибудь хорошая практика разделения действий и связывание их с определенными редьюсерами? (в целях повышения производительности и улучшения читаемости)
//reducer.js:
import { combineReducers } from 'redux';
import { authReducer} from './authReducer';
import { modalHandler } from './modalHandler';
import { rootReducer } from './rootReducer';
import { errorHandler } from './errorHandler';
const reducer = combineReducers({ authReducer, modalHandler, rootReducer, errorHandler });
export default reducer;
//ActionCreator.js:
export const newMessage = (id, mess)=> {
return dispatch => {
return axios.post('/api/channel/newMessage', {id, mess})
.then(res => {
dispatch(getChannelData());
})
.catch(err => {
dispatch(requestError(err));
});
};
};
export const channelLogoUpload = formData => {
return dispatch => {
return axios.post('/api/uploads/newChannel/logo', formData)
.then(res => {
console.log(res.data.url)
dispatch(newLogo(res.data.url))
})
.catch(err => dispatch(requestError(err)));
}
}
export const userRegistration = user => {
console.log(user);
return dispatch => {
return axios.post('/api/signup', { user })
.then(res => {
if (res.status === 200) {
dispatch(newUser(true));
}
})
.catch(err => {
if (err) {
dispatch(registrationError(err.response.data.message));
}
})
}
}
export const imageIncrease = (value, title) => ({
type: IMAGE_INCREASE,
value,
title
});
export const logOut = () => ({
type: LOG_OUT
});
//...etc
// хотелось бы получить что-то подобное:
const combineReducers({
authActions: authReducer,
modalActions: modalHandler,
//...etc
})