use*_*841 7 html javascript google-chrome-extension reactjs
我正在制作Chrome扩展程序,我想使用内容脚本将HTML注入页面DOM.这很简单,但我也希望内容脚本是一个React组件,而JS本身不需要与页面JavaScript上下文交互,这样就可以更简单了.我有一个简单的方法将一个容器元素注入到我的React代码可以呈现的DOM中,但我觉得它非常hacky所以我想知道是否有一个React开发人员可以建议的官方方式(Google并不特别对这个具体问题有用).
import React from 'react';
import ReactDOM from 'react-dom';
class App extends React.Component {
render() {
return <h1>App was injected.</h1>
}
};
let container = document.createElement('div');
container.setAttribute("id", "app-wrapper");
document.body.appendChild($el);
ReactDOM.render(
<App/>, container);
Run Code Online (Sandbox Code Playgroud)
Thi*_*ddi -1
通常它被分成 2 个文件,一个 HTML 和一个 JS。像这样的东西:
索引.html
<head>
<script src="path/to/bundle.js"></script>
</head>
<body>
<div id="app-wrapper" />
</body>
Run Code Online (Sandbox Code Playgroud)
应用程序.js
import React from 'react';
import ReactDOM from 'react-dom';
class App extends React.Component {
render() {
return <h1>App was injected.</h1>
}
};
ReactDOM.render(
<App/>, document.getElementById("app-wrapper"));
Run Code Online (Sandbox Code Playgroud)
我不知道官方的方法,但这是在create-react-app大多数教程中找到的实现。
| 归档时间: |
|
| 查看次数: |
1176 次 |
| 最近记录: |