Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery与React一起使用_Javascript_Jquery_Reactjs - Fatal编程技术网

Javascript JQuery与React一起使用

Javascript JQuery与React一起使用,javascript,jquery,reactjs,Javascript,Jquery,Reactjs,我正在构建一个工具,用react组件创建登录页 那么它是如何工作的: 我有一个简单的API-React加载配置并相应地显示组件 由于此工具将用于A/B测试(快速生成一些登录页并测试哪个登录页有效),因此我需要一个库,该库还能够在呈现DOM后操作DOM 这段代码注入了一些javascript: if (template.customJavascript) { let script = document.createElement('script'); script.type = 'text

我正在构建一个工具,用react组件创建登录页

那么它是如何工作的:

我有一个简单的API-React加载配置并相应地显示组件

由于此工具将用于A/B测试(快速生成一些登录页并测试哪个登录页有效),因此我需要一个库,该库还能够在呈现DOM后操作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控制按钮的点击?

给在原始问题下发表评论的人的提示:

jQuery早在虚拟毁灭库和框架出现之前就存在了。 它最早建于2005年,受Dean Edwards早期的Csquery库的影响,并于2006年由John Resig作为开源JavaScript库发布。 已经有成千上万的jQuery插件为jQuery库编写。2020年,jQuery库仍然是web上最流行的JavaScript库。 React并不是唯一的虚拟dom库,它远远不是最快、最轻的。然而,它是一个维护良好的图书馆,背后有非常热情的社区。 需要注意的是,因为我们喜欢某样东西胜过其他东西,并不意味着我们不应该使用它。 为什么我们要重新发明轮子,而忽略jQuery库中制作精美的插件,因为新的方法已经出现了? jQuery插件允许我们尊重客户/雇主的预算。使用可用的,集成到任何回声系统中,无论是角度、Vue还是React。 为什么不呢

以下是我对如何与React集成的看法:

节点

要在节点中包含jQuery,首先使用npm安装

npm安装jquery

要使jQuery在节点中工作,需要一个包含文档的窗口。由于节点中本机不存在这样的窗口,因此可以使用诸如jsdom之类的工具来模拟。这对于测试目的很有用

require("jsdom").env("", function(err, window) {
     if (err) {
         console.error(err);
         return;
     }

     var $ = require("jquery")(window);
});
将jQuery作为jQuery包的$导入

如果您不熟悉ES6导入/导出语法,请使用下面的链接检查有关StackOverflow的问题和答案

现在,您可以在生命周期方法中通过$sign选择DOM,并在jQuery库的帮助下包括、扩展或开发插件。 注意:标记应该首先加载,这就是为什么我在componentDidMount()方法中使用jquery代码

import React,{Component}来自“React”;
从“react dom”导入{render};
从“jquery”导入$
从“jQueryPlugineExample”导入PluginName
类应用程序扩展组件{
componentDidMount(){
$('.element').jqueryplugine示例({
插件\对象\挂钩\ 1:自定义\值,
插件\对象\挂钩\ 2:functio(){
//自定义功能
}
})
}
render(){
返回(
//…应用程序加价
);
}
}
render(,document.detElementById(“根”));

给在原始问题下发表评论的人的注释:

jQuery早在虚拟毁灭库和框架出现之前就存在了。 它最早建于2005年,受Dean Edwards早期的Csquery库的影响,并于2006年由John Resig作为开源JavaScript库发布。 已经有成千上万的jQuery插件为jQuery库编写。2020年,jQuery库仍然是web上最流行的JavaScript库。 React并不是唯一的虚拟dom库,它远远不是最快、最轻的。然而,它是一个维护良好的图书馆,背后有非常热情的社区。 需要注意的是,因为我们喜欢某样东西胜过其他东西,并不意味着我们不应该使用它。 为什么我们要重新发明轮子,而忽略jQuery库中制作精美的插件,因为新的方法已经出现了? jQuery插件允许我们尊重客户/雇主的预算。使用可用的,集成到任何回声系统中,无论是角度、Vue还是React。 为什么不呢

以下是我对如何与React集成的看法:

节点

要在节点中包含jQuery,首先使用npm安装

npm安装jquery

要使jQuery在节点中工作,需要一个包含文档的窗口。由于节点中本机不存在这样的窗口,因此可以使用诸如jsdom之类的工具来模拟。这对于测试目的很有用

require("jsdom").env("", function(err, window) {
     if (err) {
         console.error(err);
         return;
     }

     var $ = require("jquery")(window);
});
将jQuery作为jQuery包的$导入

如果您不熟悉ES6导入/导出语法,请使用下面的链接检查有关StackOverflow的问题和答案

现在,您可以在生命周期方法中通过$sign选择DOM,并在jQuery库的帮助下包括、扩展或开发插件。 注意:标记应该首先加载,这就是为什么我在componentDidMount()方法中使用jquery代码

import React,{Component}来自“React”;
从“react dom”导入{render};
从“jquery”导入$
从“jQueryPlugineExample”导入PluginName
类应用程序扩展组件{
componentDidMount(){
$('.element').jqueryplugine示例({
插件\对象\挂钩\ 1:自定义\值,
插件\对象\挂钩\ 2:functio(){
//自定义功能
}
})
}
render(){
返回(
//…应用程序加价
);
}
}
render(,document.detElementById(“根”));

Hey@Fabian!所以,我认为我没有正确回答你的问题。。。你为什么需要jQ?实际上,您可以使用React-using状态操作DOM,还可以使用事件处理程序等。使用jQ所做的几乎所有与DOM操作相关的事情,您也可以使用React。请尽量不要将jQuery与React一起使用,并在React呈现DOM后对其进行操作。事实上,这有点难以解释:)您知道otpimizely(optimizely.com)工具吗。我们正在这样建设