编写 TypeScript 定义以允许重构

问题描述 投票:0回答:1

假设我在我编写的库中有以下

index.d.ts
定义:

export function group<T extends object>(exports: T): {
    (P?: Instance) : Instance;
} & T
}

然后我有以下代码:

const A = group({
  fn: () => {}
})

当我尝试重构

A.fn
的名称来表示
A.refactoredFnName
时,WebStorm 不仅建议重构
A.fn
,还重构
B.fn
C.fn

我不确定是否:

  1. 我在类型定义中做错了事情
  2. WebStorm 有问题
  3. 我不明白在这种情况下进行重构并不那么简单
javascript typescript webstorm
1个回答
0
投票
export function group<T extends object>(exports: T): {
    (P?: Instance) : Instance;
} & T
}

const A = group({
  fn: () => {}
})

问题:

When I try to refactor A.fn name to say A.refactoredFnName, WebStorm proposes refactoring usages of not only A.fn, and also B.fn and C.fn.

回答?:

我假设你正在这样做?

const fn = () => {};

const A = group({ fn })

const B = group({ fn })

那么fn在所有A、B、C中都是同一个引用?有点猜测 - 但这有帮助吗/你如何声明 fn / A、B、C - 请需要更多详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.