Reactjs 获取错误:类型“[null,Dispatch]”不可分配给typescript中的类型

Reactjs 获取错误:类型“[null,Dispatch]”不可分配给typescript中的类型,reactjs,typescript,Reactjs,Typescript,我正在从事typescript项目,我想使用setInterval函数的状态,但我遇到以下错误,我正在使用useState语句,就像这样,有人能帮我解决这个问题吗?任何帮助都将不胜感激 const [intervalData, setIntervalData] : [null | NodeJS.Timeout, (interval: null | NodeJS.Timeout) => void] = useState(null); 错误: Type '[null, Dispatch&l

我正在从事typescript项目,我想使用setInterval函数的状态,但我遇到以下错误,我正在使用useState语句,就像这样,有人能帮我解决这个问题吗?任何帮助都将不胜感激

const [intervalData, setIntervalData] : [null | NodeJS.Timeout, (interval: null | NodeJS.Timeout) => void] = useState(null); 
错误:

Type '[null, Dispatch<SetStateAction<null>>]' is not assignable to type '[Timeout | null, (interval: Timeout | null) => void]'.
  Type 'Dispatch<SetStateAction<null>>' is not assignable to type '(interval: Timeout | null) => void'.
    Types of parameters 'value' and 'interval' are incompatible.
      Type 'Timeout | null' is not assignable to type 'SetStateAction<null>'.
        Type 'Timeout' is not assignable to type 'SetStateAction<null>'.
          Type 'Timeout' provides no match for the signature '(prevState: null): null'.ts(2322)

如果未指定useState的类型参数,则将根据传递给useState的值推断状态的类型。由于传入null,状态的类型将为null,这意味着除了null之外,它不能有其他值

可以将状态的更宽类型指定为类型参数:

const [intervalData, setIntervalData]:[null | NodeJS.Timeout, (interval: null | NodeJS.Timeout) => void] = useState<null | NodeJS.Timeout>(null);


注意:我会从const中删除类型注释,但我猜这可能只是为了问题中的示例而添加的。

如果不指定类型参数以使用状态,则状态的类型将从传递给useState的值中推断出来。由于传入null,状态的类型将为null,这意味着除了null之外,它不能有其他值

可以将状态的更宽类型指定为类型参数:

const [intervalData, setIntervalData]:[null | NodeJS.Timeout, (interval: null | NodeJS.Timeout) => void] = useState<null | NodeJS.Timeout>(null);


注意:我会从const中删除类型注释,但我猜可能只是为了问题中的示例而添加的注释。

谢谢,这是可行的,但当我使用return clearIntervalData时;我收到此错误,没有重载与此呼叫匹配。重载2中的第1个“intervalId:Timeout:void”出现以下错误。问题可能是您同时拥有来自节点和DOM库的setInterval和ClearIntervalThank的定义,这正在工作,但当我使用return clearIntervalintervalData时;我收到此错误,没有重载与此呼叫匹配。重载2中的第1个“intervalId:Timeout:void”产生了以下错误。问题可能是您同时拥有来自节点和来自setInterval和clearInterval的DOM库的定义