在方法中运行时,无法在构造函数中分配只读属性
打字稿版本为3.4.1
class Example {
readonly initialState: any
constructor(){
this.someMethod()
}
private someMethod(){
this.setState({
initialState: 'someState' // Cannot assign to 'initialState' because it is a read-only property
})
}
}
答案 0 :(得分:0)
readonly
属性只能是initialized in place during declaration, or inside the constructor。这样做的理由是,可以从代码中的其他位置调用该方法,然后尝试再次设置属性值,因此TypeScript会完全阻止它。
PS。我相信代码只是没有正确地复制和粘贴,因为您的类中没有setState()
方法。您的代码将无法运行。我假设您的意思是说this.initialState = 'someState'
。如果您想修改问题,可能会有不同的答案。