React--基础学习混搭
最近学习一下React,通过 阮一峰《React 入门实例教程》 、React 入门教程、菜鸟教程--React 这三个学习基础使用,接下来看慕课网的三个教学视频。
React是什么我也不能说的很透彻,但学习时候觉得就是能摆脱不得复用的陋习,要什么就写什么组件。
以下内容包含 利用Jquery读取ajax,利用map遍历,同时用到了父子组件,组件生命周期,state,props。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<script src="http://static.runoob.com/assets/react/react-0.14.7/build/react.js"></script>
<script src="http://static.runoob.com/assets/react/react-0.14.7/build/react-dom.js"></script>
<script src="http://static.runoob.com/assets/react/browser.min.js"></script>
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
</head>
<body>
<p>根据ajax获得一个JSON对象 遍历出信息,同时定义一个按钮子组件,通过props.id传递,并将ID打印出来 </p>
<div id="example"></div>
<script type="text/babel">
//子组件 按钮
var ButtonDel = React.createClass({
handleClick : function(){
console.log(this.props.id)
},
render: function(){
return (
<button id={this.props.id} onClick={this.handleClick}>del me</button>//读取父组件上的id属性
)
}
}); var UserGist = React.createClass({
//定义初始化state 我当做声明来用
getInitialState : function(){
return{
config :[]
}
},
//组件第一次渲染调用后,使用ajax
componentDidMount: function() {
var config = this.state.config;
$.get(this.props.source, function(result) {
//拿到返回的值之后设置state 把整个json给config
this.setState({
config : result
});
}.bind(this));
}, render: function() {
var config = this.state.config;
var items = config.map(function(item){
return (
<li>
{ item.owner.login} link {item.html_url}
<ButtonDel id={item.id}/> //这个是按钮子组件
</li>
);
},this); //这里的this是做什么用的呢?
// <ButtonDel id={item.id} delClick={this.handleClick} > 如果上面的ButtonDel出现this.handleClick 需要上面的this
return (
<div>
{items}
</div>
);
}
});
//定义组件
ReactDOM.render(
<UserGist source="https://api.github.com/users/octocat/gists"/>,
document.getElementById('example')
);
</script>
</body>
</html>
上面的结果就是点击console.log button上面的id,再进行别的操作。
以上只是小小整合,期待能更加深入进入学习.....待续
React--基础学习混搭的更多相关文章
- react基础学习和react服务端渲染框架next.js踩坑
说明 React作为Facebook 内部开发 Instagram 的项目中,是一个用来构建用户界面的优秀 JS 库,于 2013 年 5 月开源.作为前端的三大框架之一,React的应用可以说是非常 ...
- react基础学习
什么是react:React(有时称为React.js 或ReactJS)是一个为数据提供渲染HTML视图的开源JavaScript库; 其特点: 声明式设计:采用声明范式,可以轻松描述应用高效:通过 ...
- react基础学习 一
1. 搭建环境 安装react脚手架 >npm install create-react-app -g 创建文件 >create-react-app 项目名称 启动 ...
- react基础学习 三
获取原生的DOM 注意:获取DOM是要在组件渲染之后才能被获取,所以在constructor里面获取不到原生的DOM 方法一:回调函数 推荐 方法二:createRef() 16版本,推荐 方 ...
- react基础学习 二——生命周期
生命周期mount: mounting装载创建 update更新 unmounting卸载 错误捕获 注意点:生命周期函数的 作用,什么之后用 只有类式组件有生命周期,函数式组件没有生命周期 moun ...
- AntDesign(React)学习-3 React基础
前面项目已经建起来了,但是没有React基础怎么办,从头学习,这个项目使用的是基于React16.X版本的几种技术集成,那么我们就从网上找一些相关的资料进行研究,我的习惯是用到哪学到哪. 一.先看一些 ...
- react基础(1)
在 react入门系列 里面,介绍了一些react的基础知识,在react基础部分,会结合手脚架工具进行更多的总结. 关于webpack我在这里就不讲解了,有需要的小伙伴可以自己去百度一下学习资料,我 ...
- React 基础入门,基础知识介绍
React不管在demo渲染还是UI上,都是十分方便,本人菜鸟试试学习一下,结合阮一峰老师的文章,写下一点关于自己的学习react的学习笔记,有地方不对的地方,希望各位大牛评论指出: PS:代码包下载 ...
- 【优质】React的学习资源
React的学习资源 github 地址: https://github.com/LeuisKen/react-collection https://github.com/reactnativecn/ ...
- react native学习资料
一:基础学习: react-native中文文档(react native中文网,人工翻译,官网完全同步)http://react-native.cn/docs/getting-started.htm ...
随机推荐
- CentOS7中rpm,yum软件安装命令
RPM包常用安装位置说明 /etc/ 配置文件安装目录 /usr/bin/ 可执行的命令安装目录 /usr/lib/ ...
- Spring之JDBC
jdbc.properties driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/ssi?useUnicode ...
- 输入的是util包下面的 时间, 接受的是java.sql.date 或者 java.util.date类型
- css 给body设置背景图片
- 【算法】分块——教主的魔法&不勤劳的图书管理员
由不勤劳的图书管理员带入了分块的坑,深深地被其暴力与优雅所征服.分块的实质就是将暴力块状封装起来,一整块的部分就一整块处理,零碎的部分就怎么暴力怎么来.因为分块大小的原因,限制了零碎部分数据的数量级, ...
- [洛谷P3567][POI2014]KUR-Couriers
题目大意:给一个数列,每次询问一个区间内有没有一个数出现次数超过一半.有,输出这个数,否则输出$0$ 题解:主席树,查询区间第$\bigg\lfloor\dfrac{len+1}{2}\bigg\rf ...
- readelf用法小记
By francis_hao Feb 14,2017 显示ELF文件的信息 用法概述 readelf和objdump类似,不过,readelf会显示更详细的信息,而且独立于BFD库,因此当BFD ...
- ionic安装遇到的一些问题
ionic = Cordova + Angular + ionic CSS // 安装(失败的话 Mac 尝试使用 sudo,Windows 尝试管理员身份运行 cmd)$ npm install - ...
- 用npm安装express时报proxy的错误的解决方法
首先要说明一点:当使用npm install <module-name>时安装组件时,安装的目录是cmd的目录+node_modules+组件名 例子如下:假如你现在安装express这个 ...
- Spring学习--基于 XML 的配置声明切面
正常情况下 , 基于注解的生命要优先于基于 XML 的声明. 通过 AspectJ 注解 , 切面可以与 AspectJ 兼容 , 而基于 XML 的配置则是 Spring 专有的.由于 Aspect ...