В чем разница между функциями стрелок и нормальными функциями при написании юнит-тестов? - PullRequest
0 голосов
/ 12 февраля 2020

Я создаю компонент реагирования, и в этом компоненте я использую функции стрелок для методов классов и ловушек жизненного цикла. Я пишу тестовые случаи для одного и того же файла. Но проблема в том, что когда я пишу хук жизненного цикла старым javascript способом, таким как

componentDidMount(){
  ...Here
}

, и запускаю тестовое покрытие, тогда этот метод жизненного цикла покрывается автоматически. Но когда я пишу это как

componentDidMount = () => {
  ...Here    
}

и запускаю покрытие кода, оно не покрывается модульным тестом и показывает «Заявление не покрыто».

Поэтому мой вопрос заключается в том, что Разница между этими двумя способами при написании модульных тестов?

1 Ответ

1 голос
/ 12 февраля 2020

Существует большая разница: первый создает метод, а второй создает свойство, а не метод, поэтому он не существует в прототипе.

Вы можете использовать его, связав его в конструкторе, но функции стрелок в событиях жизненного цикла могут снизить производительность.

...