2

我已经成功安装了eslint-plugin-testing-library并使用了它,overrides所以它只会警告我测试文件中的代码。

但是,它抱怨Avoid direct Node access. Prefer using the methods from Testing Library.以下代码props.children

我希望能够插入子节点或默认节点。

return (
  <>
    { // Other elements here. }
    {'children' in props ? (
      props.children
    ) : (
      <MyComponent {...props} disabled={disabled} />
    )}
  </>
)

这段代码有什么问题?为什么 props 被认为是节点访问?我应该如何更改它以满足警告?只需添加// eslint-disable-next-line testing-library/no-node-access?

Edit:

这是在一个测试文件中。它以与主代码相同的方式创建元素。我不明白为什么引用props.children会引起警告。我想知道警告的理由是什么,以及如何执行预期的结果。

4

1 回答 1

1

作者在eslint-plugin-testing-library这里!对于被报告的这种特定行为,我深表歉意。事实上,props.children这是一种有效的用法,不应报告。您能将此作为新问题报告吗?我们可以看看将来改进这个规则。谢谢!

于 2021-05-11T10:13:41.977 回答