Как правильно использовать обратные ссылки для получения выбранных значений в Typescript? - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь использовать современный метод для получения значения из элемента 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, поэтому я определенно обновил модули. Любые указатели или помощь будет принята с благодарностью!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...