React Helmet не обновляет метатег заголовка

Я устанавливал заголовки страниц SPA в react.js следующим образом:

document.title = {some title}

... до сих пор, и это работало нормально. Теперь я также хотел обновить тег metatitle, поэтому я установил реактивный шлем.
В моем компоненте я импортировал Helmet из библиотеки и сделал:

render() {
  {/* ... */}
  return (
    <div>
      <Helmet>
        <title>{docTitle}</title>
        <meta name = "title" content = {docTitle} />
      </Helmet>
      {/* ... */}
    </div>
  )
}

При открытии страницы я увидел, что заголовок документа правильно обновлен, но при проверке элементов в браузере я заметил, что <meta name = "title" не обновляется, а несколькими строками ниже обновляется <title>является.

Что я здесь делаю неправильно?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
3
0
8 719
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

В моем коде <head> я добавил следующий тег в файл index.html:

<meta name = "title" content = "Default Title">

При обновлении этого метатега с помощью реактивного шлема я все еще видел, что этот тег не обновляется в файле index.html при проверке элементов в моем браузере.
Однако чего я не заметил, так это того, что в самом низу <head> Helmet, по-видимому, добавил этот тег:

<meta name = "title" content = "Default Title" data-react-helmet = "true">

Я предполагаю (и надеюсь), что это будет просканировано ботами поисковых систем.

Обновлять:
По прошествии некоторого времени я могу убедиться, что Facebook и Google правильно читают тег заголовка шлема.

Это не задокументировано в файле readme, но вы должны добавить data-react-helmet = "true" к своим метатегам, которые вы хотите заменить на react-helmet. Например, в вашем index.html ваш метатег должен быть обновлен, чтобы он выглядел так:

 <meta name = "title" content = "Default Title" data-react-helmet = "true">

Это должно быть в ридми, я не знаю, почему этого нет, и я видел комментарий, что кто-то уже открыл PR, чтобы добавить это.

Другие вопросы по теме