【发布时间】:2017-10-21 05:05:30
【问题描述】:
我想在某个事件上更改组件元素的样式,例如单击。但是当我这样做时,我得到的错误是我的样式对象在它没有被定义为只读并且因此不可变时是只读的。即使在类之外定义样式对象也会产生相同的错误。我在下面创建了一个简单的示例来说明我的问题。
错误:
Uncaught TypeError: Cannot assign to read only property 'color' of object '#<Object>'
profile.tsx
import * as React from 'react';
export default class Profile extends React.Component {
public styler = {
color:"white",
}
render() {
return (<button style={this.styler} onClick={this.HandleMenuClick.bind(this)}>Click me!</button>);
}
HandleMenuClick() {
this.styler.color = 'gray'; // error on executing this line
}
}
点击按钮时产生错误。
将样式移到类之外时会产生同样的错误:
var styler = {
color:"white",
}
【问题讨论】:
标签: javascript reactjs typescript inline-styles