Есть контейнер, который подключен к 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 параметров в метод, а потом еще и в самом методе тупо передаем данные/колбеки дальше. Бред же? Как упростить и сократить код, не растеряв при этом его качества?




