我正在研究react.js中的单个页面应用程序,那么更新页面转换或浏览器后退/前进中的元标记的最佳方法是什么?如何更新React.js中的元标记?
回答
我在旧项目中使用了react-document-meta。
只要定义你的元值
const meta = {
title: 'Some Meta Title',
description: 'I am a description, and I can create multiple tags',
canonical: 'http://example.com/path/to/page',
meta: {
charset: 'utf-8',
name: {
keywords: 'react,meta,document,html,tags'
}
}
并放置一个
<DocumentMeta {...meta} />
在返回
您可以使用react-meta-tags。它允许您以声明的方式和正常的jsx格式编写标题和其他meta标签,这些标签将被移到head(检查doc上的服务器使用情况)。
import React from 'react';
import MetaTags from 'react-meta-tags';
class Component1 extends React.Component {
render() {
return (
<div class="wrapper">
<MetaTags>
<title>Page 1</title>
<meta id="meta-description" name="description" content="Some description." />
<meta id="og-title" property="og:title" content="MyApp" />
<meta id="og-image" property="og:image" content="path/to/image.jpg" />
</MetaTags>
<div class="content"> Some Content </div>
</div>
)
}
}
你可能也想检查react-helment,如果你有一个先进的用例。
我在尝试使用react-meta-tags时遇到了重复元标记的问题。 [react-helmet](https://www.npmjs.com/package/react-helmet)在路由或状态改变时没有**重复标记。 – Eddie
现在已经修复。 –
您还可以通过以下方式给出页面标题和元标记说明。
在你的index.html文件中放置一个描述元标记,就像这样。
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<title>Dynamic Page title here</title>
在您的.js文件或低于render()方法.jsx文件写这样的页面的页面标题和meta描述。
render()
{
document.title ="Welcome | here is your page title to display";
document.getElementsByTagName("META")[2].content="Your description about the page or site here to set dynamically";
return(
<div>Page content</div>
);
}
我可以看到我的meta标签正在使用这种方法更新,但是当我使用twitter卡验证器或facebook共享调试器时,它没有找到我的meta/opengraph标签:(注意:我是静态托管 – dparkar
- 1. 如何更新AngularJS中的元标记?
- 2. 如何动态更新元标记
- 3. 如何更新react.js中的状态?
- 4. 如何更改Drupal中的元标记?
- 5. 如何更新标记的坐标?
- 6. 如何更新设计在MODX Revolution 2.5.7中的网站中的元标记?
- 7. 如何从SL5中的标记扩展更新目标对象?
- 8. 如何标记文章更新日期?
- 9. 在React.js中动画新添加元素
- 10. 注销更新NavBar React.js
- 11. 如何在Redux中使用React.js进行onClick元素更改?
- 12. 刷新GWT中的元标记
- 13. 如何在React.js中获取http标头
- 14. 尝试从更新后的标记中获取元素
- 15. 添加新行后MongoDB React.js更新表
- 16. 如何在视图MVC中删除元标记的html标记?
- 17. 更新小册子中的标记
- 18. 更新C#中的GMap.NET标记#
- 19. 如何使用webpack更新玉石中的脚本标记?
- 20. 如何用实时GPS坐标更新标记的位置?
- 21. 如何更新所选地点类型的新标记..?
- 22. 在react.js中过滤记录
- 23. 如何更新telerik gridview中的记录?
- 24. HBase中的Memstore如何更新记录?
- 25. 如何更新mongodb中的记录?
- 26. 如何更新ror中的记录?
- 27. 如何在Google Chrome中禁用元刷新标记
- 28. 实时更新标记
- 29. 更新标记移动mvcarray
- 30. JGit fetch()不更新标记
标签会随着页面转换而改变,还是只针对着陆页? –
您的应用程序结构如何?你有多个组件,或只有一个在转换时被更改? – KRONWALLED
2个组件会改变,其余的保持不变。 –