React的使用方法(脚手架的方法)

使用react加脚手架创建一个项目:

  • npm install create-react-app -g

  • create-react-app myapp

  • cd myapp

  • yarn start

npx : 帮助我们更方便的找到本地安装的命令

  • .\node_modules.bin\webpack --version# 或者npx webpack --version

官方网站用法

  • npx create-react-app myapp

  • cd myapp

  • yarn start

脚手架项目结构:

1.入口文件:index.js

// 导入核心模块

import React from 'react';

import ReactDOM from 'react-dom';

// 全局样式

import './index.css';

// 入口组件(组件的首字母必须大写)

import App from './App';

ReactDOM.render(<App />, document.getElementById('root'));

2.入口组件

// 必须导入React模块:JSX依赖于该模块
import React from 'react';
// 局部样式
import './App.css';

// 组件的定义
function App() {
return (

<div> 测试 </div> ); } export default App;

注意样式需要导入:

import './App.css'

组件的定义和使用:

// 函数组件的首字母必须大写

// 父组件向子组件传值使用props(函数组件就是形参)

// 数据传递是单向数据流:props属性是只读的

function Test (props) {

  console.log(props)

  return <div>Test:{props.uname}</div>

}

// 这里定义了一个App组件

function App() {

  return (

    <div>

      <div>Hello nihao</div>

      <Test uname='tom' age='12'/>

      <Test uname='jerry'></Test>

      <Tab/>

    </div>

  );

}

类组件定义方法:

class Person {
constructor(uname, age) {
this.uname = uname;
this.age = age;
}
showUname () {
console.log(this.uname)
}
}
var p = new Person('zhangsan', 12)
p.showUname()

类的继承

  • 既可以基础父类的属性也可以基础父类的方法

  • 必须在构造函数的第一行调用父类构造函数

  • super一般用于向父类构造函数传递参数

    class Person {   constructor(uname, age) {     this.uname = uname;     this.age = age;   }   showUname () {     console.log(this.uname)   } } class Student extends Person {   constructor(uname, age, score) {     // 必须在构造函数的第一行调用父类构造函数     // super一般用于向父类构造函数传递参数     super(uname, age);     // 子类除了继承父类的特性之外可以额外添加自己的属性     this.score = score;   }   showInfo () {     console.log(this.uname + '---' + this.age + '---' + this.score)   } } let stu = new Student('lisi', 13, 100) stu.showInfo() stu.showUname()

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )