Реагировать на методы жизненного цикла как функции стрелок свойства класса - PullRequest
0 голосов
/ 20 ноября 2018

Сейчас я работаю в эксцентричной кодовой базе React, где все функции компонентов были написаны как функции стрелок свойств класса, например,

componentDidMount = async () => {
  console.log('componentDidMount');
};

Конечно, нет никакой пользы от привязки таких методов жизненного цикла.Однако мне интересно, есть ли потенциальные недостатки, возможно, в недрах Реакта, связанные с наследованием.

1 Ответ

0 голосов
/ 20 ноября 2018

Я вижу один недостаток функций стрелок свойства класса: представьте себе какую-то сетку, где каждая ячейка является экземпляром одного и того же класса компонента React.Если бы функции жизненного цикла были обычными функциями, они бы существовали в прототипе только один раз в памяти.Если бы они были функциями стрелок свойства класса, каждая ячейка имела бы свою собственную копию функций.Это повлияет на производительность, измеренную в статье Medium , упомянутой в комментариях.(Утверждение в этой статье о том, что отсутствующий прототип усложняет тестирование, кажется шатким.)

(Кстати, стоит упомянуть, что вся тема может устареть с принятием хитов React.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...