首页 > 解决方案 > 出现 linting 错误 - 错误 Unexpected empty object pattern no-empty-pattern

问题描述

我收到以下代码的此 linting 错误-“错误意外的空对象模式 no-empty-pattern”。有谁知道如何解决这个问题?它是一个 tsx 文件。

const stateToProps = ({}, { data = [], filters = {}, staticFilters = 
  [{}] }) => {
  const allFilters = staticFilters ? Object.assign({}, filters, ...staticFilters) : filters;
  const newData = getFilteredRows(allFilters, data);
  return {
      data: newData,
      unfilteredData: data,
  };
};
//called like this
export const NodeList = connect<{}, {}, CustomNodeTableProps>(stateToProps)(CustomNodeTable);

标签: javascriptreactjstypescripteslint

解决方案


在转换 TypeScript 后,我​​通过ESLint 演示应用程序运行了这段代码;linter 错误来自{}第一行。

const stateToProps = ({}, // rest of the function

no-empty-pattern旨在捕获似乎正在使用解构但不分配任何变量的代码。在上面的代码中,stateToProps接受第一个参数,但无论该参数是什么,它都被解构为一个空对象{},并且没有分配任何内容。

如果第一个参数很重要,您可以更改代码以对其进行解构:

const stateToProps = ({importantThing},

如果不是,请表明我们不在乎:

const stateToProps = (_,

或者,设置默认值。

const stateToProps = (importantThing = {},

这些更改中的每一个都解决了 ESLint 警告。


推荐阅读