@Fengol

Возможно ли с помощью hooks создать полноценную замену классовым компонентам?

До недавнего момента думал что hooks позволяют полностью отказаться от классовых компонентов и по своей сути, являются их "убийцей". А кроме того, создание собственных хуков обещает упростить работу с переиспользуемым кодом. Я был счастлив живя с этой мыслью, пока не потребовалось вынести логику сервиса в кастомный хук. Дело в том, что этот сервис, по совместительству является отдельной библиотекой, которая в лучших традициях в своей основе использует событийную модель, то есть нуждается в подписке\отписке, а кроме того имеет свой жизненный цикл с обязательным destroy. Подписаться можно, но как отписаться, когда нет альтернативы componentWillUnmount? Функция которая возвращается из useEffect либо срабатывает каждое обновление, а кроме того вызов destroy постоянно сбрасывает состояние сервиса. Неужели опять обман со стороны реакта? Неуже ли опять круть только для helloworld приложений на готовых ui библиотеках? Вся суть этих переиспользований кодов за счет хуков и должна ведь лечь в основу помощи при создании собственных сложных компонентов. А тут опять засада?
  • Вопрос задан
  • 253 просмотра
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
useEffect(() => {
  // component did mount code here
  return () => {
    // component will unmount code here
  };
}, []);

Почитать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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