#javascript #reactjs
#javascript #reactjs
Вопрос:
Щелчок, похоже, не запускает console.log().
import React from 'react';
import './SearchResult.scss';
const searchResult = props => {
const listItemClicked = () => {
console.log('hi');
};
return (
<li key={props.resultName} className="result-list" onClick={() => listItemClicked()}>
<div className="result">
<p>{props.resultName[0].toUpperCase() props.resultName.slice(1)}</p>
</div>
</li>
);
};
export default searchResu<
Может быть, это был долгий день, но я просто не могу заставить onClick запустить console.log…
Заранее спасибо.
Комментарии:
1. В зависимости от вашего кода,
console.log()
должно срабатывать при нажатии наli
2. @ErtanHasani Я так и думал, это что-то настолько простое, но по какой-то странной причине я просто не могу заставить его сработать…
3. Попробуйте перезапустить свой компилятор. Это часто помогает, когда вы на 100% уверены, что что-то должно сработать.
4. как сказал @ErtanHasani, ваш код должен срабатывать
console.log()
при нажатииli
(я только что протестировал его), может быть, вы фильтруете свой журнал?5. Разве вы не получаете консольное предупреждение от React? Компоненты должны начинаться с заглавных букв…
Ответ №1:
Добавьте реквизиты по умолчанию в приведенный выше код.
Код будет выглядеть:
import React from 'react';
import './SearchResult.scss';
const SearchResult = props => {
const listItemClicked = () => {
console.log('hi');
};
return (
<li key={props.resultName} className="result-list" onClick={() =>listItemClicked()}>
<div className="result">
<p>{props.resultName[0].toUpperCase() props.resultName.slice(1)}</p>
</div>
</li>
);
};
SearchResult.defaultProps = {
resultName:["abc","xyz"]
}
export default SearchResult;