不可变.js使用 TypeScript 进行 Record.set 类型检查



我正在使用Immutable.js和TypeScript来构建Redux应用程序。

从本质上讲,我的州看起来像

const defaultState = {
  booleanValue: true,
  numberValue: 0,
}
const StateRecord = Immutable.Record(defaultState)
class StateClass extends StateRecord {
  booleanValue: boolean
  numberValue: number
}
const STATE = new StateClass()

(此设置启用对表达式的编译时类型检查,如STATE.booleanValue === 'hi'

有没有办法为set启用编译时类型检查,例如STATE.set('booleanValue', 'hi')?(我想要编译器的警告,说'booleanValue' cannot be set to 'hi'

或者,是否有替代设置可以使不可变.js和 TypeScript 在获取和设置时协同工作?

是否有替代设置可以使不可变.js和 TypeScript 在获取和设置时协同工作

并非没有将StateRecord包装在帮助程序函数中(基本上是向其抛出更多需要复制并保持同步的代码)。所以简而言之没有。

最新更新