【问题标题】:Property 'setTabChange' does not exist on type 'never'. (React hooks Typescript) using ref“从不”类型上不存在属性“setTabChange”。 (React hooks Typescript) 使用 ref
【发布时间】:2021-03-06 09:28:23
【问题描述】:

从父组件调用子组件函数时 usingref(ref.current?.setTabChange()).

“从不”类型上不存在属性“setTabChange”。

使用反应打字稿。

父组件:

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
  };
});

【问题讨论】:

  • 你能把ref的定义包括进来吗?
  • const ref = useRef();参考定义

标签: reactjs typescript


【解决方案1】:

由于useRef 在与 TypeScript 一起使用时是通用的,因此您必须定义引用的元素类型,如 const ref = useRef&lt;Type&gt;();

因此,要修复此错误,您可以定义 ref 之类的

const ref = useRef<any>();

【讨论】:

    猜你喜欢
    • 2023-01-09
    • 1970-01-01
    • 2020-05-15
    • 1970-01-01
    • 2020-07-31
    • 2020-12-11
    • 2021-08-23
    • 2020-09-10
    • 2018-03-12
    相关资源
    最近更新 更多