【发布时间】:2017-10-30 02:13:56
【问题描述】:
我有一个 html 文件、.js 文件和 .jsx 文件。我在 html 文件中添加/导入了 .js 和 .jsx 文件。
.js 文件具有返回 div 标签的功能。
我想将此函数返回的值渲染到 html 中的根 div 标签中。
我正在考虑在 JSX 中调用 JS 函数并使用 ReactDOM.render 渲染此 JS 函数返回的值。
是否可以从 .jsx 文件中调用 JS 函数?
index.html 有以下内容
<!DOCTYPE html>
<html>
<head>`enter code here`
<meta charset="UTF-8" />
<title>Hello World</title>
<script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
<script type="text/babel" src="test.jsx"></script>
<script type="text/javascript" src="test.js"></script>
</head>
<body>
<div id="root"></div>
</body>
</html>
test.js 有以下内容
function alertme() {
return "<div><h1>Hello, world!</h1></div>"
}
test.jsx 有以下内容
function tick() {
const element = (
<div>{alertme()}</div>
);
ReactDOM.render(
element,
document.getElementById('root')
);
}
tick();
显示完整的 html 标记而不是显示 hello world
有什么办法可以解决这个问题?
【问题讨论】:
-
您需要考虑使用模块加载器。想想
webpack。您不能只将所有文件都包含在一个页面中并希望获得很大的成功。 (虽然可以将函数存储到window)
标签: javascript html reactjs