Javascript 使用流处于反应状态的嵌套对象
我有一个关于流的嵌套状态对象的问题 假设我想要一个条件参数Javascript 使用流处于反应状态的嵌套对象,javascript,reactjs,flowtype,Javascript,Reactjs,Flowtype,我有一个关于流的嵌套状态对象的问题 假设我想要一个条件参数close,在React组件中处于状态的对象中 class Appearance extends React.Component { state: { house: { open: number, close?:number, }, }; constructor(props) { super(props); const house = { open: 0,
close
,在React组件中处于状态的对象中
class Appearance extends React.Component {
state: {
house: {
open: number,
close?:number,
},
};
constructor(props) {
super(props);
const house = {
open: 0,
};
if (props.door) {
house.close = 0;
}
this.state = {
house,
};
}
这似乎给了我一个错误close。在对象文字中找不到属性
我做错了什么,或者我可以用另一种方法来做吗?您正在使用
const house={open:0}创建一个密封对象文字代码>
从流程文档中进行检查
试一试
或者。。。您可以使用对象。分配并将其作为密封对象保存
const house = Object.assign({},
{open: 0},
props.door ? {close: 0} : null
);
注意:Flow将不允许您使用
const house = Object.assign({},
{open: 0},
props.door && {close: 0}
);
因为props.door&&{close:0}
变成了布尔值,而Flow不支持这一点
const house = Object.assign({},
{open: 0},
props.door && {close: 0}
);