Как правильно вешать события на большое количество дочерних элементов?
Я делаю компонент календаря, специфичный для нашего проекта. В этом календаре выводятся даты на год вперед, т.е. 365 дней. При клике на любую из дат мне нужно получить эту дату. И вопрос в том как это сделать.
Очевидно, что вешать обработчик на каждый элемент на есть хорошо, а хорошо повесить его только на календарь. Но как потом получать даты, не ясно.
Ну дело в том, что мне надо как то отличать клик по одному дню на клик по другому. Я посмотрел как делаю другие люди и делают он как-то так:
onClick={this._handleDayClick.bind(this, someDayObject)}
Реакт вешает на события только в самом документе, потом они диспатчатся по виртуальному дому, то есть обработчик и так будет один и можно создать компонент для этих дат и саму дату передавать через props
Т.е. если на каждый элемент повешу onClick то это нормально? Например, если календарь то показывается (рендерится), то удаляется проблем с памятью у меня не будет?
psyhO_octopus: Если пойти по пути реакта то не будет, не создавать 365 прибинженых функций, а сделать компонент в котором будет один обработчик повешан на клик по нему
handleClick(e) { this.props.action(this.props.day) }