Задать вопрос
PolyakhAleksandr
@PolyakhAleksandr

Классическое каррирование, заменить функцией из Ramda.js {compose} для использования HOC ReactJS?

Важный момент, что функция работает сверху вниз то есть с право на лево, понимая это у меня не выходит использовать её вместо вот такой записи:
export default HOC(‘props1’)(‘props2’)(ChildHoc)
Вот полный пример со всеми зависимостями:
https://stackblitz.com/edit/hoccomponent?file=chil...
  • Вопрос задан
  • 240 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
Вы видимо что-то где-то недопоняли. Каррирование с помощью compose заменить нельзя.
Его используют чтобы избавиться от вложенности:
// without compose
withLog(withRouter(connect(mapStateToProps)(withDropdown(props)(Component))));

// with compose
compose(
  withLog,
  withRouter,
  connect(mapStateToProps),
  withDropdown(props),
)(Component);

Так же использование compose позволяет передавать функции динамически:
const foo = compose(...functions);

Реализация compose есть в пакете redux.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы