Javascript 如何使typescript从“.d.ts”文件中查找类型批注?

Javascript 如何使typescript从“.d.ts”文件中查找类型批注?,javascript,reactjs,typescript,types,Javascript,Reactjs,Typescript,Types,我无法使typescript从.d.ts文件中查找类型批注。 这是我的tsconfig.json文件 { "compilerOptions": { "baseUrl": "./", "paths": { "components/*": [ "src/components/*"

我无法使typescript从
.d.ts
文件中查找类型批注。 这是我的
tsconfig.json
文件

{
    "compilerOptions": {
        "baseUrl": "./",
        "paths": {
            "components/*": [
                "src/components/*"
            ],
            "constants/*": [
                "src/constants/*"
            ],
            "services/*": [
                "src/services/*"
            ],
            "reducers/*": [
                "src/reducers/*"
            ],
            "selectors/*": [
                "src/selectors/*"
            ],
            "types/*": [
                "src/types/*"
            ],
            "pages/*": [
                "src/screens/*"
            ],
        },
        "target": "esnext",
        "module": "commonjs",
        "jsx": "react-native",
        "noEmit": true,
        "strict": true,
        "noImplicitAny": false,
        "moduleResolution": "node",
        "allowSyntheticDefaultImports": true,
        "esModuleInterop": true,
        "typeRoots": [
            "./src/types"
        ],
        "types": [
            "node"
        ],
    },
    "include": ["src/**/*.d.ts"],
    "exclude": [
        "node_modules",
        "babel.config.js",
        "metro.config.js",
        "jest.config.js"
    ]
}
这里还有一个用法示例。这是
src/services/redux/utils.ts
中的一个util函数

export function unpack<T extends Record<string, unknown> | []>(dataState: IDataState<T>, defaultState = {}) {
  if (dataState) {
    const isBusy = dataState.status === 1;
    const payload = dataState.payload ? dataState.payload : defaultState;

    return [payload as T, isBusy, dataState.error || null];
  }

  return [defaultState as T, false, null];
}
typescript会抛出一个错误

找不到名称“IDataState”

我在
src/services
中创建了
types.d.ts
,并试图从同一目录访问这些类型。 我已经调查了一些关于Stackoverflow的其他问题,但没有一个是对我问题的答案。
我应该向配置中添加什么?

您需要在typeRoots编译器选项中指定所有必要的文件,但它没有帮助。我只能在导入时使用它们。但正如我所知,我应该能够在不导入的情况下使用它们。你能提供一个实际声明的示例以及如何使用它们吗?请参阅更新版本!!!您一定误解了
.d.ts
文件的实际用途。我已经按照那篇文章中的说明去做了,但还是没有结果。无论如何,谢谢你的帮助。
interface IDataState<T> {
  dateReceived?: number;
  dateRequested?: number;
  error?: Error;
  payload: T | Record<string, unknown>;
  requestGuid: string;
  status: number;
}