Подтвердить что ты не робот

Как я могу подавить "тег <some-tag> непризнан в этом браузере "предупреждение в React?

Я использую элементы с именами пользовательских тегов в React и получаю стену этих ошибок. Существует тема GitHub по этому вопросу (https://github.com/hyperfuse/react-anime/issues/33), в которой кто-то заявляет:

Это новое предупреждающее сообщение в React 16. Не имеет ничего общего с аниме/реагировать-аниме, и это предупреждение можно смело игнорировать.

Приятно, что его можно безопасно проигнорировать, но он все равно не пройдет проверку, когда мой код заполняет консоль бесполезными сообщениями об ошибках.

Как я могу подавить эти предупреждения?

4b9b3361

Ответ 1

Я не говорю, что это правильная вещь, которую вы действительно должны сделать, но вы могли бы подключить 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, которую вы по крайней мере связали. : 3

Ответ 2

Я не верю, что есть встроенный способ подавления сообщения об ошибке.

Предупреждающее сообщение регистрируется прямо здесь, в реагировании. Вы можете раскошелиться на Reaction-dom и просто удалить сообщение об ошибке. Для такого маленького изменения, возможно, было бы полезно использовать что-то вроде patch-package, поэтому вам не нужно поддерживать форк.

Ответ 3

Я нашел потенциальное решение этой проблемы - если вы используете плагин (и, возможно, в других обстоятельствах), вы можете использовать атрибут is.

Нашел здесь при работе с X3d - просто пишет <scene is="x3d".../> работает