Комментарии 9
Ничего не мог с собой поделать, но все время читал HOC по-русски)
+2
Если их время уже прошло — то каким образом вы пишете код сейчас?
0
сейчас в моде render prop
0
Как ответили выше — render prop. Точнее «renderless containers», которые предоставляют свои функции и могут быть использованы «одинаково».
Нет разницы что это Context.Consumer, React-Powerplug, VisibilitySensor или Timer — render prop унифицирует интерфейс, и задача только сделать его удобным.
Я для «удобства» использую react-gearbox.
Нет разницы что это Context.Consumer, React-Powerplug, VisibilitySensor или Timer — render prop унифицирует интерфейс, и задача только сделать его удобным.
Я для «удобства» использую react-gearbox.
+1
Они полностью взаимозаменяемые? Или есть отличия в поведении хоков с одинаковым названием?
0
Чувство верное. Тем более, что нам обещают более удобное функциональное API в самом React: https://twitter.com/dan_abramov/status/993104372912574464?s=21
0
Хорошая статья, вы меня опередили. Дополню списком плюсов, которые даёт такой подход:
- только пропсы: все компоненты теперь работают стандартизированно только через пропсы
- модульность: каждый хок — это чистая функция, которую можно переиспользовать в любом месте вашего приложения
- мокирование: простое — ведь и сами компоненты чистые, и зависимости приходящие — из пропсов (при использовании с автомоками в Jest — вообще магия)
- юнит-тесты: неприлично лёгкое покрытие юнит-тестами (вытекает из трёх пунктов выше)
0
Спасибо за статью, очень мне сейчас пригодилась. Только мне кажется что есть ошибки в картинках — к примеру в начале описания compose где две функции нужно вложить одна в одну и потом в третью
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Компоненты высшего порядка с использованием Recompose