Основным преимуществом или защитным шлемом является то, что у вас есть несколько компонентов в дереве с тегами <head>
и у вас есть теги <meta>
с одинаковыми атрибутами / значениями.
Например, если в компоненте страницы index у вас есть:
const html = renderToString(<App />);
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<meta name="description" content="This is the index page description">
<title>A Cool Index Page</title>
</head>
</html>
Но в компоненте листовой страницы у вас также есть тег <head>
, содержащий метатеги:
<html>
<head>
<meta name="description" name="This is the unique leaf page description">
<title>A Cool Leaf Page</title>
<link rel="stylesheet" href="${ROOT}/static/index.css">
</head>
</html>
Обратите внимание, что между двумя нашими компонентами страницы есть два метатега с одинаковым значением атрибута name="description"
в нашем дереве. Вы можете подумать, что это может привести к дублированию, но react-helmet
решает эту проблему.
Если кто-то попадает на конечную страницу, react-Helve отменяет метатег index / site-description и отображает тег нижнего уровня, предназначенный специально для конечной страницы.
Он также будет содержать метатег области просмотра, поскольку его не нужно было перезаписывать.
Из-за react-helmet
на конечной странице <head>
будет выглядеть следующим образом:
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<meta name="description" name="This is the unique leaf page description">
<title>A Cool Leaf Page</title>
<link rel="stylesheet" href="${ROOT}/static/index.css">
</head>
</html>
person
Lexis Hanson
schedule
07.10.2018
<title>
обновлениями, используяhelmet
, но ваши пользователи никогда не фактически уходят с этой первой страницы. - person Mike 'Pomax' Kamermans   schedule 07.10.2018