React学习笔记(一)

※ 序言

一、脚手架入门

  1. create-react-app介绍
    默认会处理好webpack的打包规则

  2. create-react-app使用
    安装:npm i create-react-app -g
    检查:create-react-app --version
    创建项目:create-react-app project-name

二、脚手架进阶

  1. npm/yarn eject 提交需要将代码提交到仓库,防止暴露的代码覆盖我们写的代码
  2. webpack.config.js 修改支持less 的css编写,修改以下左侧内容为右侧内容
    • sassRegex -> lessRegex
    • sassModuleRegex -> lessModuleRegex
    • sass/scss -> less
    • sass-loader -> less-loader
    • resolve.alias -> add ‘@’:paths.appSrc – @将默认指向src目录
    • import ./file.less -> import @/index.less
  3. 环境变量脚手架
    • npm install -g cross-env / yarn add cross-env
  4. 环境变量的使用
    • package.json 文件
    • 修改内容:scripts.start: “cross-env PORT=8080 node scripts/start.js”
    • process.env.变量
  5. react-app-polyfill 兼容插件,react脚手架已内置
  6. 接口代理配置
    • setupProxy.js //存在则编辑,不存在则创建该文件
    • npm install/yar add http-proxy-middleware/
    • const { createProxyMiddleware } = require(‘http-proxy-middleware’)
    • 代理配置
      module.exports = function(app){
          app.use(
              createProxyMiddleware("/apipath",{
                  target: "api.host",
                  changeOrigin: true, // 支持跨域
                  ws: true,
                  pathRewrite: { "regex-path": "" }
              })
          )
      }
      

三、React JSX基础

  1. 组件继承
    class ComponentName extends React.Component {
    	render() {
    		return <></> // JSX,这里写 <></> fragment空标记,既能作为容器把内容包裹起来,还不占用层级
    	}
    }
    
  2. js文件修改为jsx后缀,即可支持jsx语法
  3. {} 胡子语法只能嵌入js表达式,表达式和逻辑代码要严格区分
  4. ReactDOM.createRoot() 的时候,不能把HTML/BODY直接做为根节点使用
  5. boolean/null/undefined/Symboy/BigInt 渲染的是空
    • 除了数组对象外,其余对象一般都不支持{}中进行渲染,也有特殊情况
      • JSX虚拟DOM对象
      • 给元素设置style行内样式,要求必须写成一个对象
      • 数组对象:渲染数据,并不是字符串,且没有逗号分割
      • 函数对象:不支持在{}中渲染,但是可以作为函数组件,用<Component/>方式渲染
  6. {{}} 这么写的意思,最外层的花括号为胡子语法,里层花括号申明是个对象
  7. react JSX中 class 叫 className
  8. render中的注释需要写在{}胡子语法中
  9. 数组只要函数具备return的函数,均可以进行渲染使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值