javascript - React js动态更改元标记

标签 javascript html reactjs meta-tags react-dom

我的申请有两个流程,一个是 用户端另一个是管理端 .我的用户端是响应式的,所以我希望元标记说 <meta name="viewport" content="width=device-width, initial-scale=1" />而且我的管理员端没有响应,所以我想强制浏览器以桌面模式打开,这需要这个元标记像这样 <meta name="viewport" content="width=1024" />我正在使用 react-document-meta与以下对象

const metaUser = {
  title: "User meta tags",
  description: "Basically make the application responsive when on user side",
  meta: {
    name: { keywords: "viewport" },
    content: "width=device-width, initial-scale=1",
  },
};
const metaAdmin = {
  title: "Admin meta tags",
  description: "Make the application default in desktop mode",
  meta: {
    name: { keywords: "viewport" },
    content: "width=1024",
  },
};
但它会在 head 标签上创建新的元数据,而这些标签不起作用
enter image description here

最佳答案

我建议使用 react-helmet .
您可以使用 npm 命令安装它:npm i react-helmet然后在您的组件/页面中导入:

import {Helmet} from "react-helmet";
并在 Helmet 中使用所有标签组件,您可以将其放入常规 head标记 html , 语法为 jsx

    <Helmet>
        <title>{`${admin ? "Admin Title" : "Client Title"}`}</title>
        <meta name="description" content={`${admin ? "Admin Content" : "Client Content"}`} />
    </Helmet>

关于javascript - React js动态更改元标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70418527/

相关文章:

javascript - 如何将客户端(html,js,css)与 Node 集成并在服务器中运行

javascript - Dimple.js - 将数据标签添加到条形图的每个条形

javascript - 使用 Javascript 清除表行中的所有数据

javascript - 鼠标悬停在列表项上

javascript - Angular 应用程序数据绑定(bind)不起作用

javascript - 如何在用户输入的输入类型=文本中附加 % 符号?

javascript - 如何强制 JavaScript 按顺序加载?

jQuery 表排序插件建议?

javascript - 从不同文件调用函数

javascript - 为什么传奇效应没有被调用?