Подскажите, насколько я понял, крайне нежелательно передавать в компоненты обработчики событий, которые будут каждый раз создаваться заново, то есть onClick={() => action()}.
Правильно это вынести обработчик в переменную и тогда он каждый раз заново не будет создаваться.
Тогда возникает вопрос, как можно передать данные родительскому компоненту? onClick={() => props.handler(data)} уже сделать не получится. Где-то видел вариант оставлять данные в дата аттрибутах, а в обработчике забирать их оттуда.
Насколько данная практика является необходимой или это уже лишние заморочки, а данная проблема является надуманной?
Мой вопрос был, все-таки, о другом. Объясню по-другому.
Мне нужно вывести в консоль какие-то данные из кнопки. Так, как на первом рисунке это вполне можно сделать. Однако документация говорит, что плохо передавать в пропсы функцию таким образом. Так как при каждом рендере она будет пересоздаваться.
Есть другой вариант:
В нем решается первая проблема, но появляется вторая, как получить title именно этого элемента. Понимаю, что можно сделать это, например, через дата параметры, что, конечно, менее удобно по сравнению с первые вариантом.
Вот и вопрос, каким способом лучше пользоваться на практике?