Обновить

Комментарии 6

Вариант 5: использовать data-id атрибут у компонента Card и во внешнем обработчике просто проверять target и его id.

Согласен с Вами, справедливо было бы дополнить статью.

Есть очень интересное решение проблем с мемоизацией коллбеков:

import { useCallback, useRef } from 'react';

export const useStableCallback =(fn) => {
  const ref = useRef(fn);

  ref.current = fn;

  return useCallback(
    (...args) => ref.current(...args),
    [],
  );
};

Мемоизированный таким образом коллбек стабилен за все время жизни, но не требует перечисления зависимостей

Благодарю, интересный способ, на досуге проверю.

Ну да и все эти пляски с бубнами только из-за того, что компонент Card криво написан. Все что необходимо это в калбеке onClick вернуть сущность card, ну или id. И все! Проблема решена! Не надо колхозить велосипеды. Всегда смотрите на свою архитектуру. Если вы начинаете что-то городить, это явный признак остановится и пересмотреть текущую реализацию компонентов

Приведите пример кода при вашем подходе, думаю, многим будет интересно.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Информация

Сайт
inpglobal.com
Дата регистрации
Дата основания
Численность
501–1 000 человек
Местоположение
Россия
Представитель
Илья