美文网首页前端开发
第2节,React目录结构分析 、创建组件、 JSX语法、 绑定

第2节,React目录结构分析 、创建组件、 JSX语法、 绑定

作者: 小沙坨 | 来源:发表于2019-05-04 22:39 被阅读0次

1、目录结构

(1)yarn.lock:项目依赖安装包,一般不需要动;
(2)Read.me:项目说明文件;
(3)package.json:脚手架工具文件,node的包文件,脚手架自动生成,一般不需要动;
(4)node_modules文件夹:项目依赖的第三方包
(5)public文件夹
favicon.ico:地址栏图标;
index.html:项目首页模板;
manifest.json:允许将站点添加至主屏幕,是 PWA 提供的一项重要功能,当前 manifest.json 的标准仍属于草案阶段,Chrome 和 Firefox 已经实现了这个功能,微软正努力在 Edge 浏览器上实现,Apple 目前仍在考虑中;
(6)src文件夹
index.js:入口文件
index.html:项目首页模板
index.css:项目的公共css文件

2、创建组件

需要注意,组件的名称首字母需要大写,

2.1第一种写法:


class 组件名称 extends React.Component{
  render(){
     return(
             <div>Hello Word</div>//最外层必须有一个标签元素
         )
  }
}

export default 组件名称;//导出组件

2.2第二种写法:

import React,{Component} from "react";

class 组件名称 extends Component{
  render(){
     return(
             <div>Hello Word</div>
         )
  }
}

3、JSX语法

3.1构造函数

super继承Component父类;
props为固定参数,用于父子组件数据的传递;

3.2注释

{/*多行注释*/}

{
  //单行注释
}

3.3jsx的语法

jsx语法基本上是html的标签,需要注意相关关键词需要改成react的写法,如class需要改成className,for改成htmlFor;

4、绑定数据

(1)通过state进行赋值,可以是单一属性值或者是对象值;

    super(props);
    this.state={
        name:'张三',
        userinfo:{
            age:20
        }
    }
}

(2)在return返回值中调用

<p>姓名:this.state.name;</p>
<p>对象:this.state.userinfo.username</p>

完整示例如下:

import React, { Component } from 'react';
class Home extends Component{
    constructor(){
        super();
        //react定义数据
        this.state={
            name:"张三",
            age:'30',
            userinfo:{
                username:"itying"
            }
        }
    }

    render(){
        return (
            <div>
                <h2>react组件里面的所有节点要被根节点包含</h2>
                <p>姓名:{this.state.name}</p>
                <p>年龄:{this.state.age}</p>
                <p>对象:{this.state.userinfo.username}</p>
            </div>
        )

    }
}

export default Home;

5、总结说明

5.1 supper说明

Es6中的super可以用在类的继承中,super关键字,它指代父类的实例(即父类的this对象)。子类必须在constructor方法中调用super方法,否则新建实例时会报错。这是因为子类没有自己的this对象,而是继承父类的this对象,然后对其进行加工。如果不调用super方法,子类就得不到this对象。

    class Person {
        constructor (name) {
            this.name = name;
        }
    }

    class Student extends Person {
        constructor (name, age) {
                super(); // 用在构造函数中,必须在使用this之前调用
                this.age = age;
         }
    }

5.2为什么官方的列子里面写个super(props):

只有一个理由需要传递props作为super()的参数,那就是你需要在构造函数内使用this.props。那官方提供学习的例子中都是写成super(props),所以说写成super(props)是完全没问题的,也建议就直接这样写。

相关文章

  • 第2节,React目录结构分析 、创建组件、 JSX语法、 绑定

    1、目录结构 (1)yarn.lock:项目依赖安装包,一般不需要动;(2)Read.me:项目说明文件;(3)p...

  • React基础

    react组件使用结构赋值语法时是怎么解析的? balel转义后 什么是jsx? jsx是js和html的混合语法...

  • react

    react的jsx语法和定义组件 安装运行 安装 进入目录 启动项目 JSX语法的注意事项 组件中只有一个根元素 ...

  • react语法结构

    1.react JSX语法原理 react是函数式编程,使用jsx语法来渲染组件。jsx语法是合法的JavaScr...

  • React入门系列(三)创建组件

    React创建组件有两种模式,原生JavaScript和JSX语法,后者是React推荐的构组件方式,因为,它能更...

  • Angular 入门

    Angular介绍 Angular安装、创建项目、目录结构、组件、服务 创建组件、绑定数据、绑定属性、数据循环、条...

  • 【前端单元测试入门02】react的单元测试之Enzyme

    React项目的单元测试 React的组件结构和JSX语法,对上一章的内容来讲进行测试显得很勉强。React官方已...

  • React基础知识点总结

    本文目录: 1.React⼊⻔ 2.JSX语法 3.组件 4.正确使用setState 5.⽣命周期 6.组件复合...

  • react-1.6

    1.6考试 什么是jsx语法,有什么特点 写一个案例实现react表单的双向绑定 写一个react非受控组件获取表...

  • (1)React的开发

    1、React项目架构搭建2、JSX语法3、React组件化开发4、React组件间通信5、React中的事件6、...

网友评论

    本文标题:第2节,React目录结构分析 、创建组件、 JSX语法、 绑定

    本文链接:https://www.haomeiwen.com/subject/syqqoqtx.html