react知识(三) 将Jquery集成进来
来源:互联网 发布:淘宝修改折扣 编辑:程序博客网 时间:2024/06/06 01:34
Jquery我都用了5到6年了,多少还是有感情了,虽然react不提倡直接操作dom,自然不提倡结合jquery来进行开发。
但作为jquery的忠实粉丝,怎么也得集成进来看看,前面一节我们说到了react的生命周期,render之后会触发componentDidMount,所以jquery的调用自然就需要放到该方法里面咯
第一步:采用dva创建项目,并用webstore来打开项目
第二步:安装jquery插件
cnpm i --save-dev jquery
第二步:配置webpack.config.dev.js
因为我们是采用dva创建的项目,该文件是放在
/node_modules/roadhog/lib/config/webpack.config.dev.js
找到插件定义的地方:
plugins: [new _webpack2.default.DefinePlugin({ 'process.env': { NODE_ENV: JSON.stringify(process.env.NODE_ENV) } }), .....
修改成:
plugins: [ new _webpack2.default.ProvidePlugin({ $:"jquery", jQuery:"jquery", "window.jQuery":"jquery" }), new _webpack2.default.DefinePlugin({ 'process.env': { NODE_ENV: JSON.stringify(process.env.NODE_ENV) } }), ...
第三步 :写个测试用例
import React,{Component} from 'react';class ClickCounter extends Component{ constructor(prop){ super(prop); this._handleClick=this._handleClick.bind(this); this.state={count:0}; } _handleClick(){ console.log(this); console.log(this.state) this.setState({count:this.state.count+1}); } componentWillMount(){ } componentDidMount(){ console.log($("#buttonC").get(0)); $("#buttonC").click(function(){ $(this).after("<div>我是jquery创建的元素</div>") }) } render(){ return ( <div> <button id="buttonC" onClick={this._handleClick}>click Me</button> <h1>click Count{this.state.count}</h1> </div> ) }}export default ClickCounter;
请留意这块代码:
componentDidMount(){ console.log($("#buttonC").get(0)); $("#buttonC").click(function(){ $(this).after("<div>我是jquery创建的元素</div>") }) }
执行结果如下:每点击一次按钮会在后面添加一个div元素:
神奇吧,又可以写自己熟悉的代码咯。当然再次强调下,不到万不得已不要直接用jquery操作dom。毕竟不提倡。
阅读全文
0 0
- react知识(三) 将Jquery集成进来
- jQuery插件知识详解(三)
- 关于JQuery的知识(三)
- [jQuery知识]jQuery之知识三-过滤器
- [jQuery知识]jQuery之知识三-过滤器
- [jQuery知识]jQuery之知识三-过滤器
- react知识(一)React.createClass Vs React.Component
- 一步一步将支付宝集成 react-native 应用
- React-Native 与 Android 集成 <三、原理与总结>
- 【react-native-0.31-iOS】iOS集成react-native(01)
- React 初步学习(三)
- React 实践项目 (三)
- React Native 入门(三)
- React Navigation 入门(三)
- React.js学习知识小结(一)
- 第五天 我为集成平台狂(三)-步履轻盈的JQuery(一)
- 第七天 我为集成平台狂(五)-步履轻盈的JQuery(三)
- LED知识(三)
- 分享三个USB抓包软件---Bus Hound,USBlyzer 和-USBTrace
- Java的多态性
- 笔记 os.dup2
- String.fromat() 动态添加string资源文件中的变量
- iOS有关ScrollView的截屏(UITableView也可以的)
- react知识(三) 将Jquery集成进来
- python练习之检测并规范用户名(map)
- Java ee 链接mysql 数据库完整步骤
- MySQL必知必会1-5章总结
- linux----进程切换
- unity3d预制体修改与保存
- 微信小程序变量值共用小技巧
- python threading模块/thread多线程(1)
- 初入C语言!整数算法训练2:输入5个数(含负数、小数),将它们按由小到大的顺序排列起来。