React - 1 项目结构(以及创建项目)

1 create-react-app --- cra

react的脚手架用于一键创建项目

有两种方式

方式1 全局安装cra再创建

安装cra

npm install -g create-react-app

创建项目

create-react-app your-app

'your-app'是你要创建的项目文件夹的名字

方式2 直接构建

npx create-react-app your-app

安装的主要就是以下三项

  • react: react的顶级库

  • react-dom: 因为react有很多的运行环境,比如app端的react-native, 我们要在web上运行就使用react-dom,以前react-dom模块是包含在react模块中的

  • react-scripts: 包含运行和打包react应用程序的所有脚本及配置

uccess! Created react-basic at /Users/wudaxun/Desktop/workspace/code/bk2119/code/week5/day03/react-basic
Inside that directory, you can run several commands:

  npm start
    Starts the development server.

  npm run build
    Bundles the app into static files for production.

  npm test
    Starts the test runner.

  npm run eject
    Removes this tool and copies build dependencies, configuration files
    and scripts into the app directory. If you do this, you can’t go back!

We suggest that you begin by typing:

  cd react-basic
  npm start

Happy hacking!

出现这些代表构建成功

项目目录

├── README.md                            使用方法的文档
├── node_modules                    所有的依赖安装的目录
├── package-lock.json            锁定安装时的包的版本号,保证团队的依赖能保证一致。与yarn.lock二者出现其一
├── package.json                    
├── public                                静态公共目录
└── src                                        开发用的源代码目录
└── yarn.lock                            锁住项目的依赖的版本号

2 'react' 和 'react-dom'

'react'和'react-dom'是每个react文件必须要有的包

'react' 是react的顶级API,包含众多方法,其中Component尤为重要作用为编译jsx,还包括Fragment(空标签),createRef(定义类组件的ref),useRef(定义函数组件的ref),PureComponent(判断组件是否需要更新,来节省性能),forwardRef(包裹函数式组件绑定ref),StrictMode(开启严格模式),createElement(编译html代码)等方法

'react-dom'的唯一作用是渲染并构建dom树

3react入口文件

先将项目中src文件夹中的文件全部删除,然后创建一个index.js的文件作为入口文件

// vue项目中 src/main.js 作为项目的入口文件
// react项目中 src/index.js 作为项目的入口文件

// 从 react 的包当中引入了 React。
// 只要你要写 React.js 组件就必须引入React, 因为react 里有一种语法叫JSX,
// 稍后会讲到JSX,要写JSX,就必须引入React
import React from 'react'
// ReactDOM 可以帮助我们把 React 组件渲染到页面上去,没有其它的作用了。
// 它是从 react-dom 中引入的,而不是从 react 引入
// 老以前react-dom是包含到react模块中的
import ReactDOM from 'react-dom'

// ReactDOM里有一个render方法,功能就是把组件渲染并且构造 DOM 树,然后插入到页面上某个特定的元素上
ReactDOM.render(
  // 这里就比较奇怪了,它并不是一个字符串,
  // 看起来像是纯 HTML 代码写在 JavaScript 代码里面。
  // 语法错误吗?这并不是合法的 JavaScript 代码,
  //  “在 JavaScript 写的标签的”语法叫 JSX - JavaScript XML。
  <h1>hello world</h1>,
  // 渲染到哪里
  document.getElementById('root')
)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值