【发布时间】:2017-05-31 07:03:47
【问题描述】:
在下面的代码中,我得到一个编译错误,我不能在 closeLeftCol 中改变状态:
Cannot assign to leftWidth because it is a constant or read only property:
interface ILayoutState{
rightClassName: string,
leftClassName: string,
leftWidth: string,
rightWidth : string
}
export default class Layout extends React.Component<undefined, ILayoutState> {
constructor(props) {
super(props);
this.state = {
rightClassName: "right-col slide-in", leftClassName: "left-col slide-in", leftWidth: '' ,rightWidth : '' };
}
closeLeftCol() {
this.state.leftWidth = "0";
this.state.rightWidth = "100%";
this.state.leftClassName += " hideme";
this.state.rightClassName += " full";
this.forceUpdate();
}
render() {...}
}
【问题讨论】:
-
@AndrewLi 不是很含蓄吗?为什么我需要 decalre 类型?在继承时它已经贴花了..
标签: reactjs typescript