zoukankan      html  css  js  c++  java
  • 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)}/>

















  • 相关阅读:
    cs231n.stanford.edu
    cs229.stanford.edu
    Boost circular_buffer example
    OI中一些常见实用的套路【更新中】
    用Java读取xml文件内容
    在控制台中操作MYSQL数据库步骤以及一些小问题
    java 实现对指定目录的文件进行下载
    将java项目发布到本地的linux虚拟机上
    mybatis 控制台打印出来的sql 执行结果为空 但是将sql放到mysql执行有数据
    spring mvc 拦截器
  • 原文地址:https://www.cnblogs.com/Jerry-spo/p/6629326.html
Copyright © 2011-2022 走看看