当我尝试初始化组件中的状态时,它会给我 SyntaxError:
处出现意外令牌 constructor(props) {
super(props);
this.state = {
isFromDatePicked = false,
isToDatePicked = false,
markedDates = {},
}
}
isFromDatePicked = false
行。我还尝试在构造函数之外初始化状态,但是根本无法正常工作。
此外,当我为了测试代码而删除状态初始化时,也会在相同的错误处出现
let markedDates = { ...this.state.markedDates };
let [_markedDates, range] = this.setupMarkedDates(this.state.fromDate, this.state.toDate, markedDates);
if (range >= 0) {
this.setState({ isFromDatePicked: true, isToDatePicked: true, markedDates = _markedDates });
markedDates = _markedDates
行。
我不知道为什么会抛出这样的错误。谢谢您的帮助。
答案 0 :(得分:6)
在:
中使用=
代替{}
。从Object initializer
但是,文字或初始值设定符表示法的优点是,您可以在花括号内快速创建具有属性的对象。您只需标记由逗号分隔的
key: value
对列表
也请在this
之前使用state
constructor(props) {
super(props);
this.state = {
isFromDatePicked:false,
isToDatePicked:false,
markedDates:{},
}
}
而且在setState
中,您正在传递对象,因此请使用:
而不是=
this.setState({ isFromDatePicked: true, isToDatePicked: true, markedDates :_markedDates });