如何在React中禁止“此浏览器中的标记<some-tag>无法识别”警告?

时间:2018-02-12 17:13:13

标签: reactjs warnings

我在React中使用带有自定义标记名称的元素并获取这些错误的墙。有一个关于这个问题的GitHub问题(https://github.com/hyperfuse/react-anime/issues/33),有人说:

  

这是React 16中的新警告消息。与动漫/反应动画无关,可以安全地忽略此警告。

很高兴可以安全地忽略它,但是当我的代码用无用的错误消息填充控制台时,它仍然不会通过审查。

如何抑制这些警告?

4 个答案:

答案 0 :(得分:5)

我并不是说这是您应该做的正确的事情,但是您可以钩住console.error并通过在装入react-anime之前将其放置在某处来过滤此消息:

const realError = console.error;
console.error = (...x) => {
  // debugger;
  if (x[0] === 'Warning: The tag <g> is unrecognized in this browser. If you meant to render a React component, start its name with an uppercase letter.') {
    return;
  }
  realError(...x);
};

它似乎至少在您链接的GitHub问题上发布的sample上有效。 :3

答案 1 :(得分:2)

我不认为有内置的方法可以抑制错误消息。

警告消息已正确记录在here in react-dom上。您可以派生react-dom并仅删除错误消息。对于这么小的更改,也许使用类似patch-package的方法会很有用,所以您不必维护前叉。

答案 2 :(得分:0)

我发现了可能解决此问题的方法-如果您使用的是插件(可能在其他情况下),则可以使用is属性。

使用X3d时发现here-只需编写<scene is="x3d" .../>即可

答案 3 :(得分:0)

我的解决方案是创建一个信封组件,以所需的类呈现@media screen and (max-width:767px) { a[title="example 1"] img { background-image: url('test 1.jpg'); } a[title="example 2"] img { background-image: url('test 2.jpg'); } }

<div>
相关问题