в котором отображались заголовок, описание, картинка и кнопка лайка. Логика лайка была вынесены в хук
const onLikeClick = useNewsLike({ id: props.id })
Теперь потребовалось сделать такую же карточку, только для акции.
Вопрос, где мне описать логику, на какой эндпоинт слать запрос лайка?
Варианты:
- Создать компонент-контейнер, который добавляет проп onLikeClick (будет создаваться дополнительный компонент)
- Создавать хэндлеры в родителе (на каждый рендер будет создаваться новая функция, перестанет работать React.memo)
- Создать хук useLike({ id: props.id, type: props.type }) // type: 'news' | 'promo' (усложняется логика простого компонента, появляется дополнительный проп)
хук самое простое... и тестировать легече
Обсуждают сегодня