Привет, я пытаюсь реализовать поле выбора в своем приложении для реагирования. Я использую npm из https://www.npmjs.com/package/реагировать-выбрать. Ниже мой код.
const options = [
{ value: 'Current', label: 'Current' },
{ value: 'Future', label: 'Future' },
{ value: 'Closed', label: 'Closed' },
];
export class EditParametersPanelComponent extends React.Component {
this.state = {
selectedOption: null,
}
handleChangeEvent(selectedOption) {
this.setState({ selectedOption });
console.info('Option selected:', selectedOption);
}
render() {
const { selectedOption } = this.state;
return (
<Select
instanceId = "storeFilter"
value = {selectedOption}
onChange = {this.handleChangeEvent}
options = {options}
placeholder = "Store"
/>,
);
}
}
Я могу отображать поле выбора на веб-странице. Всякий раз, когда я нажимаю на любой из вариантов, я получаю ошибки ниже.
1. Uncaught TypeError: this.setState is not a function
2. Warning: Failed prop type: You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.
Может ли кто-нибудь помочь мне определить и исправить эту ошибку? Любая помощь будет принята с благодарностью. Спасибо





вы должны использовать функцию стрелки для привязки
handleChangeEvent = selectedOption => {
this.setState({ selectedOption });
console.info('Option selected:', selectedOption);
}
или вы можете использовать другой способ ниже
<Select
instanceId = "storeFilter"
value = {selectedOption}
onChange = {this.handleChangeEvent.bind(this)}
options = {options}
placeholder = "Store"
/>,
Привет, спасибо, KKangil. Я менял как указано выше. Теперь начал получать ошибку ниже. Ошибка синтаксического анализа: Неожиданный токен =. Нужно ли мне что-то здесь менять?
Сможете ли вы получить результат console.info('Option selected:', selectedOption);?
да нет. Большое спасибо за помощь. Я добавил this.handleChangeEvent = this.handleChangeEvent.bind(this);
Вам нужно связать
this.handleChangeEventсthis. reactjs.org/docs/handling-events.html