reactjs - Typescript:超时的正确类型是什么?

标签 reactjs typescript

处理计时器时正确的类型是什么?我已经尝试过 Timeoutnumber

  let debounceResize: any;
//                     ^ What should this be?
  window.addEventListener('resize', () => {
    clearTimeout(debounceResize);
    debounceResize = setTimeout(calcCanvasSize, 500);
  });

enter image description here enter image description here enter image description here

最佳答案

对于这种情况,我会给你两个选择:

  1. debounceResize 的类型定义为 setTimeout 的返回类型,使用 ReturnType 原生泛型。
let debounceResize: ReturnType<typeof setTimeout>;
  • 使用window.setTimeout而不是仅使用setTimeoutwindow.setTimeout 返回一个数字。
  • let debounceResize: number;
    
    debounceResize = window.setTimeout(() => {}, 1000);
    

    关于reactjs - Typescript:超时的正确类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60245787/

    相关文章:

    reactjs - React-Native/Typescript - 未定义不是一个对象(评估'react_1.default.Component)

    javascript - 从内部回调函数调用 React Native 中的 this.setState()

    javascript - 从 react 组件访问环境变量

    javascript - 如何重置子元素的状态?

    typescript - 10 个错误后 NgRx 效果 "dies"

    typescript - 为什么 typescript 在界面中使用自定义符号有限制?

    javascript - 条件渲染不能防止渲染

    angular - 如何在 Angular 中生成 UUID

    javascript - 本地图屏幕打开时,如何使 map View 以用户当前位置为中心? React Native 博览会

    reactjs - 如何在React中管理路由