小编Gri*_*ush的帖子

在反应打字稿中指定文件上传事件的类型

我不太明白事件类型是如何工作的,我想在这里指定一个类型,但无法弄清楚如何去做。我似乎找不到这个特定案例的类型参考。

private handleChange (event /*:FileUplaodEvent or something */): void {
    this.setState ({
      csv: event.target.files[0],
    });
}
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激...

编辑:正如 Mukesh Soni 的回答所说,我使用了React.FormEvent<HTMLInputElement>,但无论出于何种原因,这种类型的文件界面有点不同,它实际上是: event.currentTarget.files而不是event.target.files.

events types typescript reactjs

6
推荐指数
2
解决办法
4392
查看次数

在 Typescript/Javascript ES6 中以编程方式获取同一文件中模块的所有导出

我想迭代所有模块导出以提取它们的类型。

我假设在编译期间这些信息是可用的

export const a = 123;
export const b = 321;

// Is there any way to do something like this in typescript/javascript es6?
console.log(module.exports)
// { a: 123, b: 321 }
Run Code Online (Sandbox Code Playgroud)

编辑:我想分享我在第一行提到的问题的解决方案。

感谢您的回答,但看来我将其完全限制为单个文件是错误的。我创建了一个单独的types.ts并使用“实用程序类型”库来进行相关类型操作

import { ValuesType } from 'utility-types';
import * as myModue from './myModule';

export IMyModuleType = ValuesType<typeof myModue>;
Run Code Online (Sandbox Code Playgroud)

然后使用新的 3.8 语法导入类型

import type { IMyModuleType } from './types';
//...
Run Code Online (Sandbox Code Playgroud)

javascript module typescript ecmascript-6

4
推荐指数
1
解决办法
1718
查看次数

标签 统计

typescript ×2

ecmascript-6 ×1

events ×1

javascript ×1

module ×1

reactjs ×1

types ×1