Javascript 带条件重新分配的ESLint prefer const错误

Javascript 带条件重新分配的ESLint prefer const错误,javascript,syntax,ecmascript-6,constants,eslint,Javascript,Syntax,Ecmascript 6,Constants,Eslint,是否有一种特殊的方法可以在条件语句中重新分配let,以避免继续获取preference consteslint错误 我的代码: let jsx = []; if (a === b) { jsx.push( <div> xxx </div> ); } jsx.push(<div>yyy</div>); 让jsx=[]; 如果(a==b){ jsx.push( xxx ); } jsx.push(yyy);

是否有一种特殊的方法可以在条件语句中重新分配
let
,以避免继续获取
preference const
eslint
错误

我的代码:

let jsx = [];

if (a === b) {
  jsx.push(
    <div>
      xxx
    </div>
  );
}

jsx.push(<div>yyy</div>);
让jsx=[];
如果(a==b){
jsx.push(
xxx
);
}
jsx.push(yyy);
==更新===
很抱歉造成混淆,实际上这不是一个重新分配操作。

您可以使用
const
,因为您没有重新分配
jsx
变量,只是将其推入指向的数组中:

  const jsx = [];

  if (a === b) {
    jsx.push(
      <div>
        xxx
      </div>
    );
  }

  jsx.push(<div>yyy</div>);
constjsx=[];
如果(a==b){
jsx.push(
xxx
);
}
jsx.push(yyy);

您可以使用
const
,因为您没有重新分配
jsx
变量,只是将其推入指向的数组中:

  const jsx = [];

  if (a === b) {
    jsx.push(
      <div>
        xxx
      </div>
    );
  }

  jsx.push(<div>yyy</div>);
constjsx=[];
如果(a==b){
jsx.push(
xxx
);
}
jsx.push(yyy);

您没有重新分配
jsx
变量,您只是在修改它。可以修改使用
const
声明的变量,因此您可以将
let
替换为
const

发件人:

const
声明创建对值的只读引用。它并不意味着它所持有的值是不可变的,只是不能重新分配变量标识符。例如,如果内容是对象,这意味着对象本身仍然可以更改

例如:

const arr=[];
arr.push(42);

控制台日志(arr)您没有重新分配
jsx
变量,您只是在修改它。可以修改使用
const
声明的变量,因此您可以将
let
替换为
const

发件人:

const
声明创建对值的只读引用。它并不意味着它所持有的值是不可变的,只是不能重新分配变量标识符。例如,如果内容是对象,这意味着对象本身仍然可以更改

例如:

const arr=[];
arr.push(42);
控制台日志(arr)