Я пытаюсь использовать современный метод для получения значения из элемента Select через React, но, похоже, я получаю всевозможные ошибки. Изначально я использовал строковые ссылки, но теперь кажется, что это считается устаревшим.
class Base extends React.Component<any, any> {
constructor(props){
super(props);
this.candInput = React.createRef();
this.state = {name: '', ns:'', svc: '', base:'', cand:[]};
}
handleAddCand = (e) => {
if(!this.state.cand.includes(this.candInput.current.value) &&
this.state.base !== (this.candInput.current.value)){
this.setState((prevState) => ({
cand: [...prevState.cand, this.candInput.current.value],
}));
}
}
И возвращенные компоненты, использующие ссылку, располагаются так:
<Select
id="ns-select"
labelText="Namespace"
helperText="..."
ref={this.candInput}
/>
<Button
onClick={this.handleAddCand}
>
Add
</Button>
Почему-то я продолжают получать ошибки, которые утверждают, что CandInput не существует? Сообщение об ошибке компилятора:
Property 'candInput' does not exist on type 'Base'.
И ошибка, что ref не является свойством, доступным для этого конкретного элемента. Элемент является импортированным углеродным компонентом, но я не могу сказать, является ли это основной проблемой. Сообщение об ошибке:
Property 'ref' does not exist on type 'IntrinsicAttributes & SelectProps & { children?: ReactNode; }'.
Моя версия реакции - 16.12, а версия углеродного компонента - 7.10, поэтому я определенно обновил модули. Любые указатели или помощь будет принята с благодарностью!