Вопрос о вызове .bind() при onClick

#javascript #reactjs

#javascript #reactjs

Вопрос:

В этом коде:

 onClick={this.handleSortByChange.bind(this, sortByOptionValue)}
  

Привязывается ли функция handleSortByChange и вызывается с параметром sortByOptionValue … или она просто привязывается?

Насколько это работает в коде, который я просматриваю, он вызывается.

Спасибо!

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

1. Он должен быть только привязан, а не вызываться немедленно. Есть ли у вас минимально воспроизводимый пример нежелательного поведения?

Ответ №1:

Вы вызываете bind функцию при рендеринге, а не при возникновении onClick события.

bind Функция при выполнении возвращает новую функцию, так что это то, что передается onClick .

В вашем случае вы выполняете привязку к рендерингу и выполняете handleSortByChange событие click .

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

1. Хорошо, где указано, что привязка происходит при рендеринге?

2. Как вы думаете, что вы передаете onClick? Вы передаете функцию привязки или результат выполнения функции привязки?