Есть контейнер, который подключен к Redux'у. Этот контейнер, по сути, управляет всем приложением.
Метод в моем контейнере, который возвращает модальное окно «ModalPostSelect»:
createModalPostSelect(callbackOpen, callbackClose, callbackSelectPost, callbackPostExportStart, callbackLoadCheckLoop, posts) {
const startExport = (postId) => {
callbackSelectPost(postId);
callbackPostExportStart();
callbackLoadCheckLoop();
callbackOpen(MODAL_EXPORT_PROGRESS);
};
return <ModalPostSelect
callbackClose={callbackClose}
callbackPostSelect={startExport}
posts={posts}
/>;
}
Часть метода render контейнера:
{ this.props.modals.current === MODAL_POST_SELECT && this.createModalPostSelect(
this.props.actionModalOpen,
this.props.actionModalClose,
this.props.actionCommentsLoadSelectPost,
this.props.actionCommentsLoadStart,
this.props.actionCommentsLoadCheckLoop,
this.props.commentsLoad.posts
) }
В чем, собственно, проблема - на сколько я понимаю, «правильно» передавать все необходимое для работы метода в качестве параметров, это облегчает тестирование, позволяет создавать чистые функции и т.д.
Но как быть, блин, с таким количеством бесполезного кода? Сначала передаем 6 параметров в метод, а потом еще и в самом методе тупо передаем данные/колбеки дальше. Бред же? Как упростить и сократить код, не растеряв при этом его качества?