Свойство ‘setTabChange’ не существует для типа ‘never’. (Реагирует на машинопись) с использованием ref

#reactjs #typescript

#reactjs #машинопись

Вопрос:

При вызове функции дочернего компонента из родительского компонента usingref(ref.current?.setTabChange()) .

Свойство ‘setTabChange’ не существует для типа ‘never’.

Использование react typescript.

Родительский компонент :

 const ref = useRef();

<Tabs ref = {ref} selectedTabIndex={ data.isevaluation === "true" ? 2 : tabIndex !== -1 ? tabIndex : 0} onTabChange={() => {ref.current?.setTabChange()}} >
 

Дочерний компонент :

 const setTabChange = () => {
  setSelectedIndex(selectedTabIndex);
};

useImperativeHandle(ref, () => {
  return {
    setTabChange: setTabChange
  };
});
 

Комментарии:

1. Можете ли вы включить определение ref ?

2. const ref = useRef(); определение ссылки

Ответ №1:

Как useRef обычно, когда оно используется с TypeScript, вы должны определить тип ссылочного элемента, например const ref = useRef<Type>();

Итак, чтобы исправить эту ошибку, вы можете определить ref следующее

 const ref = useRef<any>();