- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
componentDidMount() {
this.clickListener = (e) => {
var input = document.getElementById('searchInput');
var filtersBar = document.getElementById('filters');
var searchBar = document.getElementById('search');
var clearButton = document.getElementById('suggestInputClearBtn');
var isNav = e.target.className.indexOf('suggestNavBtn') >= 0;
if(input == e.target || searchBar == e.target || filtersBar == e.target || clearButton == e.target || isNav || e.target.className.indexOf('tags-controller-wrapper') !== -1)
return;
var classes = e.target.c†.split(' ');
for(var cls of classes){
if(cls == 'autocompleteItem')
{
return;
}
}
if(this.props.isSuggestInputVisible)
this.props.onCloseAutosuggestion();
};
this.attachClickListener();
}
Я бы только за if без скобок прибил) Обратите внимание на 4 выборки по id которые можно было не делать каждый раз при клике, а если приглядеться то можно понять, что можно было совсем не выбирать ни разу, а если бы пионер знал что всплытие событие можно остановить то этот метод занял бы три строчки и на десерт обратите внимание как он перебирает значение className циклом - это при том что в этом проекте можно писать на es6 Это самый дебильный код который я видел в этом году