react笔记记录

React全家桶:
1.react库主题;
2.webpack 自动化的一个构架工具(grunt gulp);
3.flex 布局用的;
4.redux view层用,把特别复杂的html页面分成一部分一部分的;
5.babel:编译器;

jsx语法: 不能直接用,要编译;
它就相当于js编译器,把普通的js转成支持es6的语法规则;
1、增强版的js语法,
babel:编译器;

注意:有且只有一个一个父元素;(顶元素)

第一个react;

ReactDOM.render();
render有2个参数,一个参数是渲染的内容;第二个参数是渲染到哪个位置(标签内)

react最强大的地方在于:
1、组件;
2、状态;

react的组件;一个组件就是一个class

<script type="text/babel">
class Comp extends React.Component{ //创建一个类:
render(){
return <span>qqaazz</span>;
}
}
window.onload = function(){
var odiv = document.getElementById(‘oDiv‘);
ReactDOM.render(
<Comp/>,
odiv
);
}
</script>

创建一个类:
一个组件就相当于是一个自定义标签或者是一个class;
在window.onload方法中渲染comp这个组件,组件都是可见的,因此,组件内必须得有一个方法,叫做render,
render方法的作用就是:当我要渲染组件的时候,组件内的render方法就要把渲染的内容返回回来;上面的代码就渲染并返回了一个span;
直接渲染组件就可以了,组件内部的方法体中写具体渲染的内容

作为一个组件,必须要在页面上被渲染出来;

1、定义一个组件:
class 名字 extends React.Component{
//至少有一个方法(渲染的内容)
render(){
return //返回渲染的内容;
}

}
2、使用这个组件
//就跟标签一样用;
//ReactDOM.render(参数1,参数2);
ReactDOM.render(
<Comp/>,
odiv
);

组件是可以有属性的:

用法:
<Comp name="zhangsan"/>
return <span>{this.props.name}</span>;

{} 模板字符串 在这里放你的变量
props 我们传的所有的属性都在props里面,用的时候可写成:props.name;

当传2个参数时,这样写:
<Comp name = "zhangsan" age="26"/>,
return <span>{this.props.name},{this.props.age}</span>; 都写在span内。用2个{}分开写;

react事件;onChange onClick

状态:可以变的,不固定;
constructor(...args){
super(...args);//super()代表的是超类父类构造函数,先完成父类的函数构造,然后才能处理其他构造函数
this.state ={value:‘‘};//初始化state
}
setState(); 设置状态
this.state.value 获取状态
this.setState({
value:e.target.value
});

state不可能只是一个数据,所以他应该是个对象,对象包含很多个state

绑定事件:
事件函数
fn(e){//处理事件所用的函数
this.setState({
value:e.target.value
});
}

<input type="text" onChange = {this.fn.bind(this)}/>

时间: 2024-08-07 16:54:12

react笔记记录的相关文章

Activiti 学习笔记记录(三)

上一篇:Activiti 学习笔记记录(二) 导读:上一篇学习了bpmn 画图的常用图形标记.那如何用它们组成一个可用文件呢? 我们知道 bpmn 其实是一个xml 文件

Activiti 学习笔记记录(二)

上一篇:Activiti 学习笔记记录 导读:对于工作流引擎的使用,我们都知道,需要一个业务事件,比如请假,它会去走一个流程(提交申请->领导审批---(批,不批)---->结束),Activiti就是来走这个流程的.所以我们还需要将Activiti 和 业务结合起来,即部署定义(画一个流程图,生成 bpmn 格式的文件).本章,就来讲 bpmn 的图怎么画? 一.什么是 bpmn 业务流程建模标记法 BPMN (Business Process Model and Notation),是工作

LNMP 源码安装 超详细笔记记录 PHP7 MariaDB 10.1.12

LNMP 源码安装 超详细笔记记录 php 7.04 版本 mariaDB  10.1.12 版本 首先安装nginx 一般编译nginx时,都要先安装pcre.zlib等外部支持程序,然后编译安装nginx时指定这些外部支持程序的位置,这样nginx在每次启动的时候,就会去动态加载这些东西了. 下面介绍的是另一种方式,即将这些程序编译到nginx里面去,这样nginx启动时就不会采用动态加载的方式去load.从古谱中可获知,这种方式会比动态加载有更高的效率. 首先 安装 yum install

React笔记(更新)

React笔记(更新) React: 1,React.render 是 React 的最基本方法,用于将模板转为 HTML 语言,并插入指定的 DOM 节点 2,React.createClass 方法就用于生成一个组件类 3,this.props 对象的属性与组件的属性一一对应  this.props.children 属性表示组件的所有子节点 4,React.findDOMNode 从组件获取真实 DOM 的节点 5,this.state 读取组件的方法  this.setState 设置组

React学习记录一

半路出家直接上手React,其实有点吃力,所以开始研究create-react-app,从这里下手吧. create-react-app 官方网站:https://github.com/facebookincubator/create-react-app 然后下面有教程,但是js水平还停留在只会用用jquery的我,完全看不懂这是个什么鬼,什么是npm?. 所以呢,我有抽空看了一下node.js的基础,算是扫扫盲. 这里是菜鸟教程:http://www.runoob.com/nodejs/nod

UWP学习开发笔记记录(开篇)

零零散散开发微软移动2年多了,基本上从未记录或写过任何笔记.所以打算写一些自己的心得和技术的分享,大家一起来共同探讨.虽然现在UWP的工作几乎没有了,但是我感觉大家都是在观望,再看接下来微软的动作,所以在职的小伙伴闲暇之余有时间可以来补充学习一下UWP的技术,但是全身心的投入到UWP的怀抱,暂时还不是个好时机.对于微软其他的技术,我觉得还是很不错的,最近本人的前同事及好友有很多都放弃.NET去做其他语言开发了,感觉进入到了全民抵制微软技术的时代,也许这就是微软所谓的转型带来的阵痛吧,不过本人目前

React笔记01-JSX

0.对于学习React,我们先来熟悉下JSX的语法, 下面的这些语法仅用于构建一个组件的标签模块,定义完成之后如果需要做演示,请附加以下代码: ReactDOM.render( element1, document.body ); 即可完成标签的演示. 1.普通的标签 const element1 = <div>Hello JSX</div>; 2.带子标签的标签 const element2 = ( <div> <h1>Hello Child1</h

APUE学习笔记-记录二

这次回顾APUE中第三四章的内容,主要是文件I/O操作相关的接口函数.    UNIX系统的文件I/O是不带缓冲的I/O,不带缓冲是指每个read和write都调用系统内核的一个系统调用. 1.文件描述符 UNIX I/O的所有函数都是基于文件描述符来操作的.那什么是文件描述符呢?文件描述符是一个非负整数.当打开一个现有文件或创建一个新文件时,内核向进程返回一个文件描述符.该文件描述符fd是所有UNIX I/O函数的操作对象.UNIX系统把文件描述符0与进程标准输入关联,把文件描述符1与进程标准

关于oracle 11g 安装笔记记录

安装ORACLE 11G 64位报错 报错信息: 准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2012-07-25_03-10-02PM. 请稍候...[[email protected] database]$ ## An unexpected error has been detected by HotSpot Virtual Machine:# # SIGSEGV (0xb) at pc=0x00000034c9c14d70, pi