我正在使用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
包装在帮助程序函数中(基本上是向其抛出更多需要复制并保持同步的代码)。所以简而言之没有。