“ ===”是反应中的意外令牌

时间:2018-07-13 02:22:56

标签: javascript reactjs if-statement

向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});
 }

2 个答案:

答案 0 :(得分:2)

类不是函数。类不可执行。类是容器。它们包含constructorsmethodsproperties。类内的任何代码都必须在方法或构造函数内。 (嗯,构造函数只是一个特殊的方法。)

这是基本的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});
        }
    }
 }