javascript - 如何将html脚本标签转换为反应代码?
问题描述
我是 javascript 的新生并做出反应。我的问题是:如何将以下代码转换为反应代码?
<div id="SOHUCS" sid="xxx"></div>
<script charset="utf-8" type="text/javascript" src="https://cy-cdn.kuaizhan.com/upload/changyan.js" ></script>
<script type="text/javascript">
window.changyan.api.config({
appid: 'xxx',
conf: 'xxxxx'
});
</script>
解决方案
使用componentDidMount()
import React, {Component} from "react";
import ReactDOM from "react-dom";
import "./styles.css";
class App extends Component {
componentDidMount() {
const script = document.createElement("script");
script.async = true;
script.src = "https://some-scripturl.js";
this.div.appendChild(script);
}
render() {
return ( <
div className = "App"
ref = {
el => (this.div = el)
} > < h1 > Hello react < /h1> {
/* Script is inserted here */ } <
/div>
);
}
}
export default App;
使用react-helmet
Reacthelmet 是一个管理浏览器头部管理器的 npm 库,可以很容易地更改头部标签内的网页代码行。首先,使用 npm install 命令安装 react-helmet
npm install react-helmet
它将依赖项添加到 package.json
"dependencies": {
"react-helmet": "^6.1.0",
}
使用完整的组件代码向组件添加脚本标签react-helmet.
import React, { Component } from 'react';
import { Helmet } from 'react-helmet';
class AddingScriptExample extends Component {
render() {
return (
<div className="application">
<Helmet>
<script src="https://use.typekit.net/hello.js" type="text/javascript" />
</Helmet>
...
</div>
);
}
}
export default AddingScriptExample;
推荐阅读
- javascript - 多个modals只能关闭1个
- vue.js - 当 Vue.js 路由器路径为 /apple-app-site-association 时如何打开文件
- python - 使用 python 和正则表达式从 reddit 评论中删除链接
- android - 如何编辑 gradle 以使用 Recyclerview
- python - 将多边形(在图像中)转换为蒙版
- r - 根据R中2个栅格之间的土地覆盖类型计算R2值?
- python - 无法在 Windows 10 中构建 V8
- r - 如何用第三个变量标记 ggplot2 boxplot 异常值?
- vba - 对在幻灯片中生成图形所需的 VBA 代码进行逆向工程
- matlab - 具有“rand”函数的函数系列(Matlab)