向StackOverflow的居民致以问候。我正在尝试编写一个react组件,该组件允许用户从下拉菜单中选择一个数字(等级),然后持续显示和跟踪该数字。但是,我有一个小问题。计算机不喜欢我的if语句中的“ ===”。它说它是“意外令牌”。这是怎么回事?这是if语句以及它之前的所有内容,因为我认为您不需要其余的内容。
import React, { Component } from "react";
const loggedRatingVar = localStorage.getItem("rating0");
class DropDown0 extends Component {
if (loggedRatingVar === null)
{
this.setState({displayRating: "?"});
}
else
{
this.setState({displayRating: loggedRatingVar});
}
答案 0 :(得分:2)
类不是函数。类不可执行。类是容器。它们包含constructors
,methods
和properties
。类内的任何代码都必须在方法或构造函数内。 (嗯,构造函数只是一个特殊的方法。)
这是基本的JavaScript语法,您可以很好地研究示例。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes
答案 1 :(得分:0)
您正在定义类组件而不是函数。 我建议阅读文档here,了解如何正确执行操作。 既然您似乎在设置状态,则需要将其放在函数或React生命周期方法上(有关生命周期方法here的更多信息)
这样做。刚刚举了一个关于Jaromanda X评论的例子。
class DropDown0 extends Component {
thisIsAfunction() {
if (loggedRatingVar === null)
{
this.setState({displayRating: "?"});
}
else
{
this.setState({displayRating: loggedRatingVar});
}
}
}