【发布时间】:2017-04-09 01:07:23
【问题描述】:
我正在构建一个工具来使用 react 组件创建登录页面。
那么它是如何工作的:
我有一个简单的 API - React 加载配置并相应地显示组件。
由于此工具将用于 A/B 测试(快速生成一些登录页面并测试哪个有效),我需要一个库,它还能够在 React 渲染后操作 DOM。
这段代码注入了一些javascript:
if (template.customJavascript) {
let script = document.createElement('script');
script.type = 'text/javascript';
script.innerHTML = template.customJavascript;
script.async = true;
document.body.appendChild(script);
}
我想为 customJavascript 使用 jQuery - 但它似乎不起作用,因为 React 也使用虚拟 DOM。是否有可能控制例如单击带有自定义注入 JavaScript 的按钮?
【问题讨论】:
-
嘿@Fabian!所以,我认为我没有正确回答您的问题……您为什么需要 jQ?您实际上可以使用 React 使用状态来操作 DOM,您还可以使用事件处理程序和其他东西。几乎你用 jQ 做的所有与 DOM 操作相关的事情,你也可以用 React 做。
-
尽量不要在 React 中使用 jQuery 并在 React 渲染后操作 DOM。
-
实际上有点难以解释 :) 你知道这个工具 otpimizely (optimizely.com)。我们在这里构建类似的东西。所以我们有一个后端,我们可以在其中选择组件——这些组件将在反应中呈现。为了使这些块工作(业务逻辑),我需要注入一些 javascript - 因为这可能非常多变。如果你看看optimizely.com,你希望能理解它:)(抱歉我的解释不好)
标签: javascript jquery reactjs