【发布时间】:2015-07-01 19:54:26
【问题描述】:
我有一个文件(主文件)调用另一个文件(加载)jquery .load().
在加载的文件中,javascrips 有效,但 jsx 代码被忽略。
可以这样加载jsx代码吗?如果是,怎么做?
如果没有,我们有什么替代方案 - 如何处理加载文件中的 jsx 代码?
母版页代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>React</title>
<script src="https://fb.me/react-with-addons-0.13.2.js"></script>
<script src="https://fb.me/JSXTransformer-0.13.2.js"></script>
<script src="https://code.jquery.com/jquery-1.10.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#loaded").load("loaded.html", function(responseText, textStatus, req) {});
});
</script>
</head>
<body>
<p>Master page</p>
<div id="loaded"></div>
</body>
</html>
加载页面代码:
<script type="text/javascript">
console.log("JQUERY WORKS");
</script>
<script type="text/jsx">
console.log("REACT WORKS");
</script>
<p>loaded page</p>
编辑:我想要完成什么:我正在开发一个 Web 应用程序,它通过 jquery 加载加载其“页面片段”,我需要在该片段中呈现一个 React 组件。
【问题讨论】:
-
为什么还要考虑将 JSX“代码”注入容器?您是否尝试在容器内渲染 React 组件?另外,您提供的代码示例不是 JSX。
-
@David 确切地说,我正在尝试在容器内渲染一个 React 组件,该容器加载了 jquery 负载。我已经编辑了原始问题。可以 console.log("REACT WORKS");在 jsx 有什么问题吗?
-
您应该预编译 JSX 文件,然后将
React.render与特定目标元素一起使用(如果您愿意,可以通过 jQuery 选择)。即时编译它们会表现不佳,并导致客户端不必要的“忙碌工作”。 -
@WiredPrairie 这似乎是一个解决方案,我的工作流程可能完全是错误的(以为我会在部署时编译所有内容)。