react

react render()函数返回只能是一个标签(里面可以包其他东西)

state(状态) vs props(属性)

state 改变,视图改变,state是一个组件里面的状态,然后props是可以给一个组件添加属性方法。

可以传递到下一个组件,下一个组件通过this.props可以获得对应组件里面有多少方法和属性。

state和props一般会配合使用。

export default class Layout extends React.Component{
constructor(){
super(); this.state = {name:'will'}
} render() {
setTimeout(() => {
this.setState({name: 'bob'});
}, 1000)
return (
<div>
{this.state.name}
<Header />
<Footer />
</div>
);
}
}

events,双向绑定例子

//layout.js

'use strict';
import React from 'react';
import Header from './header';
import Footer from './footer'; export default class Layout extends React.Component{
constructor(){
super();
this.state = {
name : 'will',
title : 'helloworld'
}
} changeTitle(title){
this.setState({
'title' : title
})
} render() {
return (
<div>
<Header title={this.state.title} changeTitle={this.changeTitle.bind(this)}/>
<Footer />
</div>
);
}
} //header.js
'use strict';
import React from 'react';
import Title from "./header/title"; export default class Header extends React.Component{
onChange(e){
//e.target就是选中操作的那个Dom.然后调用原生的value属性
const value = e.target.value;
//这里利用props调用了父级的changeTitle方法
this.props.changeTitle(value);
} //利用props属性和state状态可以组合做很多事情,onChange
//这里就是js的事件,可以onclick,onBlur等等 render() {
return (
<div>
<input value={this.props.title} onChange={this.onChange.bind(this)}/>
<Title title={this.props.title} />
</div>
);
}
}

react学习01的更多相关文章

  1. 【iScroll源码学习01】准备阶段 - 叶小钗

    [iScroll源码学习01]准备阶段 - 叶小钗 时间 2013-12-29 18:41:00 博客园-原创精华区 原文  http://www.cnblogs.com/yexiaochai/p/3 ...

  2. Python学习--01入门

    Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...

  3. React学习笔记-1-什么是react,react环境搭建以及第一个react实例

    什么是react?react的官方网站:https://facebook.github.io/react/下图这个就是就是react的标志,非常巧合的是他和我们的github的编辑器Atom非常相似. ...

  4. react学习小结(生命周期- 实例化时期 - 存在期- 销毁时期)

    react学习小结   本文是我学习react的阶段性小结,如果看官你是react资深玩家,那么还请就此打住移步他处,如果你想给一些建议和指导,那么还请轻拍~ 目前团队内对react的使用非常普遍,之 ...

  5. Java虚拟机JVM学习01 流程概述

    Java虚拟机JVM学习01 流程概述 Java虚拟机与程序的生命周期 一个运行时的Java虚拟机(JVM)负责运行一个Java程序. 当启动一个Java程序时,一个虚拟机实例诞生:当程序关闭退出,这 ...

  6. Android Testing学习01 介绍 测试测什么 测试的类型

    Android Testing学习01 介绍 测试测什么 测试的类型 Android 测试 测什么 1.Activity的生命周期事件 应该测试Activity的生命周期事件处理. 如果你的Activ ...

  7. React学习资料

    以下是我整理的React学习资料,包括:React基础.Redux.reat-router, redux middleware, higher order components, React验证等, ...

  8. React学习笔记(一) 基础知识

    现在最热门的前端框架有AngularJS.React.Bootstrap等.自从接触了ReactJS,ReactJs的虚拟DOM(Virtual DOM)和组件化的开发深深的吸引了我. React的基 ...

  9. Java学习01

    Java学习01 第一章 1.JRE与JDK JDK(JAVA Develop Kit,JAVA开发工具包)提供了Java的开发环境和运行环境,主要用于开发JAVA程序,面向Java程序的开发者; J ...

随机推荐

  1. Linux编程之有限状态机FSM的理解与实现

    有限状态机(finite state machine)简称FSM,表示有限个状态及在这些状态之间的转移和动作等行为的数学模型,在计算机领域有着广泛的应用.FSM是一种逻辑单元内部的一种高效编程方法,在 ...

  2. excel转html 实现在线预览

    首先说一下,本人发布的代码都是经过本人亲测,并且用在实际项目中.如果觉得可以,希望大家点个赞,谢谢大家. 有什么问题,大家评论出来,一起交流.好了,不废话了,下面来说一说这个东西怎么做. 网上也有许多 ...

  3. linux软件包介绍

    一. 软件包的种类 源码包 二进制包(rpm包.系统默认包) 二. 优缺点对比 源码包 源码包的优点 1) 开源,源码可见,且可以修改 2) 配置更加灵活,可以自由选择所需的功能 3) 软件是编译安装 ...

  4. JAVA程序员成长历程(二)

    提几个方向可以去尝试下: 1.订阅一些牛人的博客,这里面包括技术,学习,生活等等.不一定学技术,他们的经验都会让人受益匪浅. 我经常看的: 唐巧,IOS程序员.http://blog.devtang. ...

  5. 【Android Developers Training】 42. 从另一台设备接收文件

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  6. 如何使用apktool反编译,查看androidmanifest的内容

    1.下载apktool http://pan.baidu.com/s/1o7Jy090 2.使用方法

  7. js加强版图片轮播

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. linux可用更新源

    Kali 2.0更新源kali-rolling:#中科大deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contribde ...

  9. Python: Pandas运算的效率探讨以及如何选择高效的运算方式

    本文就Pandas的运行效率作一个对比的测试,来探讨用哪些方式,会使得运行效率较好. 测试环境如下: windows 7, 64位 python 3.5 pandas 0.19.2 numpy 1.1 ...

  10. PostGreSQL数据库安装教程

    windows 10 x64 pro 1703安装postgresql-9.6.3-2-windows-x64.exe数据库,步骤如下: 第一:下载数据库安装程序,下载地址为:https://www. ...