我的变量未在我的JS函数JSX中递增

时间:2018-11-13 10:03:26

标签: html html5 reactjs dom jsx

我的JSX函数中有一个小问题,变量我没有增加,仅向控制台返回1。

myMenuObject <- menu(competition=0, stats=0)
print(myMenuObject)
print(myMenuObject@competition)
getClass(class(myMenuObject))

感谢任何建设性的反馈意见:)

1 个答案:

答案 0 :(得分:2)

这是因为您正在函数i中初始化变量newTask

因此,每次调用时,i都会初始化为0,然后再递增为1。

您想要的是一个全局变量,您可以通过将变量i的声明移到函数外部来实现。

var i = 0;

function newTask() {
  i += 1; //or i++
  console.log(i);

  if (i == 1) {
    class NewTask extends React.Component {
      render() {
        return <div class="new-task">True</div>;
      }
    }
    ReactDOM.render(<NewTask />, document.getElementById("forms"));
  } else if (i == 2) {
    class NewTask extends React.Component {
      render() {
        return document.body.getElementById("new-task");
      }
    }
    ReactDOM.render(<NewTask />, document.getElementById("forms"));
  }
}