Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript &引用===&引用;是react中的意外标记_Javascript_Reactjs_If Statement - Fatal编程技术网

Javascript &引用===&引用;是react中的意外标记

Javascript &引用===&引用;是react中的意外标记,javascript,reactjs,if-statement,Javascript,Reactjs,If Statement,问候斯塔克斯沃夫的居民们。我试图编写一个react组件,它允许用户从下拉菜单中选择一个数字(评级),然后持续显示和跟踪。然而,我有一个小问题。计算机不喜欢if语句中的“==”。上面说这是一个“意外的标记”,怎么回事?这里是if语句和它之前的所有内容,因为我假设您不需要其他内容 import React, { Component } from "react"; const loggedRatingVar = localStorage.getItem("rating0"); class Dro

问候斯塔克斯沃夫的居民们。我试图编写一个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});
 }

您定义的是类组件而不是函数。 我建议阅读有关如何正确操作的文档。 因为您似乎正在设置状态,所以您可能希望将其放在函数或React生命周期方法上(更多关于生命周期方法)

照这样做。就Jaromanda X的评论给出了一个例子

class DropDown0 extends Component {

    thisIsAfunction() {
        if (loggedRatingVar === null)
        {
            this.setState({displayRating: "?"});
        }
        else
        {
           this.setState({displayRating: loggedRatingVar});
        }
    }
 }

类不是函数。类是不可执行的。类是容器。它们包含
构造函数
方法
属性
。类中的任何代码都必须位于方法或构造函数中。(好吧,构造函数只是一种特殊的方法。)

这是基本的JavaScript语法,您最好学习这些示例


我认为问题在于您的类定义是错误的-您不能在顶层使用这样的代码。。。i、 e.它应该在类方法中-请参阅-您发布的代码相当于旧式原型类中的
DropDown0.prototype.if=function(loggedRatingVar==null).