setState是否要我指定我的状态接口的所有属性?

时间:2016-07-11 23:54:40

标签: reactjs typescript

我正在使用React 15和TypeScript 1.8。

我的组件的状态对象有多个属性。我定义了一个描述其类型的接口,用class MyComponent extends React.Component<any, MyStateInterface>编写我的组件,为构造函数方法中的每个属性设置初始值,这一切都很好。

我遇到的问题是在调用this.setState时只更新我的一个属性。 TypeScript抱怨我没有设置所有(“Property missing”错误)。我搜索了StackOverflow的解决方案,发现其他人抱怨这个,说唯一的解决方案是简单地声明所有字段都是可选的。

然而,这是一个18个月大的答案,我知道TypeScript和React都在快速移动。我只是想知道在过去的500天里这是否有所改变,以及推荐的做法是什么?

1 个答案:

答案 0 :(得分:0)

  

我遇到的问题是调用this.setState只更新我的一个属性。 TypeScript抱怨我没有设置所有这些

您应该将州的所有成员标记为可选。

您可能认为这会不安全......但由于新鲜度more,它仍然存在问题。