React:期待一个赋值或函数调用,而是看到一个表达式 no-unused-expressions

新手上路,请多包涵

我在我的 React 应用程序中使用第 3 方库“FoamTree”来制作树可视化。当我在我的组件中导入它的文件 ‘carrotsearch.foamtree.js’ 时,它在多行中给我这个错误:

 Expected an assignment or function call and instead saw an expression  no-unused-expressions

它在普通 Javascript 中运行良好。它仅在将其导入反应时才给出错误该文件中有很多行给我这个错误。其中我分享的很少:

 this.j = function (m, k) {
      var f = a[m];
      f || (f = [], a[m] = f);
      f.push(k);
    };

  function m(a) {
      var d = a.O,
          c = a.Sb[0].length - 1;
      a.Ib[c] && (d.setLineDash(a.Ib[c]), d.Uj = a.Ld[c]);
      d.miterLimit = a.Qd[c];
      d.lineWidth = a.Md[c];
      d.shadowBlur = a.ie[c];
      d.shadowOffsetX = a.je[c];
      d.shadowOffsetY = a.ke[c];
      d.font = a.Nc[c].replace("#SIZE#", a.hc[c].toString());

    }

 for (e = 0; e < g; e++) {
       h = c[e].kd, m[h.index] = !0, 0 > r * (h.x - k.x) + s * (h.y - k.y) + l * (h.z - k.z) && a.d(b, h);
}

  this.kc = function (a, b) {
      D.V(b) || (n[a] = b, m(a));
      return n[a];
 };

编辑:当我更改此块时:

 this.kc = function (a, b) {
    D.V(b) || (n[a] = b, m(a));
    return n[a];
};

对此:

   this.kc = function (a, b) {
      if( D.V(b) || (n[a] = b, m(a)) ){
          return n[a];
      }
  };

然后错误消失了

原文由 Ankit Kaushal 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 900
2 个回答

通过将其添加到文件顶部解决了这个问题:

 /* eslint-disable */

原文由 Ankit Kaushal 发布,翻译遵循 CC BY-SA 4.0 许可协议

显然是导致问题的表达。但是看你的表情,我想你只想做这样的事:

 a[m] = f || []

代替:

  var f = a[m];
      f || (f = [], a[m] = f);

无论如何, allowShortCircuit 应该可以解决您的问题:

 /*eslint no-unused-expressions: [
  "error", {
    "allowShortCircuit": true
  }]*/

更多配置见:

没有未使用的表达式

原文由 Bhojendra Rauniyar 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题