Невозможно получить доступ к этому в ReactJS

Если метод equals() присутствует в классе java.lang.Object, и ожидается, что он проверяет эквивалентность состояния объектов! Это означает, что содержимое объектов. В то время как ожидается, что оператор == проверяет, что фактические экземпляры объекта одинаковы или нет.

Пример

Рассмотрим две различные ссылочные переменные, str1 и str2:

str1 = new String("abc");
str2 = new String("abc");

Если вы используете equals()

System.out.println((str1.equals(str2))?"TRUE":"FALSE");

, вы получите выход как TRUE, если вы используете ==.

System.out.println((str1==str2) ? "TRUE" : "FALSE");

Теперь вы получите вывод FALSE в качестве вывода, потому что оба str1 и str2 указывают на два разных объекта, хотя оба они имеют одинаковое строковое содержимое. Именно из-за new String() каждый новый объект создается каждый раз.

1
задан Hemant Parashar 9 March 2019 в 19:23
поделиться

1 ответ

Вместо этого используйте this.randInt. randInt не является опорой, скорее определена в классе.

class Question extends React.Component {
  constructor(props) {
    super(props);
    this.randInt = String(Math.floor(Math.random()*2) + 1);
  }

  question = {
    quest: questions[this.randInt].quest,
    answers: questions[this.randInt].answers,
    correct: questions[this.randInt].correct
  }
}

0
ответ дан Hemant Parashar 9 March 2019 в 19:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: