Я полагаю, это потому, что в исходном состоянии вы написали
this.state = {
activeSuggestion: 0,
filteredSuggestions: [],
showSuggestions: false,
userInput: '',
};
и позже вы запускаете
if (showSuggestions && userInput)
но при первоначальном щелчке userInput по-прежнему равняется ''
, что равно false. Внизу снова вы запускаете if (filteredSuggestions.length)
, что также равно 0, потому что когда ничего не набрано, массив FilterSuggestions пуст.
console.log('' == true)
=> false
также
console.log([].length == true)
=> false