我在为将以下代码更改为等效的ES6语法而苦苦挣扎。
export default class EventSessionItem extends Component {
state = {
isDetailsVisible: false,
};
revealDetails = () => {
this.setState({isDetailsVisible: true});
};
我以为下面是转换,但显然不是。语法错误,所有指示灯都亮红色。
export default class EventSessionItem extends Component {
constructor() {
isDetailsVisible = false;
}
function revealDetails {
this.setState({isDetailsVisible: true});
};
最佳答案
您的带有类初始化器的代码可以使构造函数中的属性赋值:
export default class EventSessionItem extends Component {
constructor(...args) {
//^^^^^^^^^^^
super(...args);
this.state = {
// ^^^^^
isDetailsVisible: false,
};
this.revealDetails = () => {
// ^^^^^
this.setState({isDetailsVisible: true});
};
}
}
关于javascript - 用JavaScript转换回ES6类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49141639/