代码之家  ›  专栏  ›  技术社区  ›  bier hier

为什么我要获取“赋值给函数参数..”的属性eslinterror?

  •  0
  • bier hier  · 技术社区  · 7 年前

    在我的reactcomponent中,我有一个称为events的属性(数组)。但是,我想重新分配如下值:

     events.map(event => {
              event.createdDateTimeConverted = dateFunctions.formatDate(
                event.createdDateTime,
                'hh:mm A, DD MMM YYYY'
              );
    
              event.assignedDateTime = dateFunctions.formatDate(
                event.assignedDateTime,
                'hh:mm A, DD MMM YYYY'
              );
    
              event.dueDateTime = dateFunctions.formatDate(
                event.dueDateTime,
                'hh:mm A, DD MMM YYYY'
              );
     }
    

    代码运行良好,这不是问题,但由于eslint/prettier错误,我必须重构:

    Assignment to property of function parameter 'event'
    

    为什么会出现此错误,如何修复此错误?

    2 回复  |  直到 7 年前
        1
  •  1
  •   Sahil Raj Thapa    7 年前

    您可以添加 /* eslint-disable no-param-reassign */ 在文件的顶部。

    或使用

    events.map(ev => {
    
          let event = ev;
    
          event.createdDateTimeConverted = dateFunctions.formatDate(
            event.createdDateTime,
            'hh:mm A, DD MMM YYYY'
          );
    
          event.assignedDateTime = dateFunctions.formatDate(
            event.assignedDateTime,
            'hh:mm A, DD MMM YYYY'
          );
    
          event.dueDateTime = dateFunctions.formatDate(
            event.dueDateTime,
            'hh:mm A, DD MMM YYYY'
          );
    
    }
    

    有关此错误的详细信息。你可以去这个 source

        2
  •  1
  •   Kumar Abhirup    7 年前

    你在改变 event 一被带进来。

    试试这个:

    events.map(e => {
    
          var event = e;
    
          event.createdDateTimeConverted = dateFunctions.formatDate(
            event.createdDateTime,
            'hh:mm A, DD MMM YYYY'
          );
    
          event.assignedDateTime = dateFunctions.formatDate(
            event.assignedDateTime,
            'hh:mm A, DD MMM YYYY'
          );
    
          event.dueDateTime = dateFunctions.formatDate(
            event.dueDateTime,
            'hh:mm A, DD MMM YYYY'
          );
    
    }
    

    希望有帮助