create-react-app结构

项目结构

React 项目一个 js 就是一个组件,并且每个组件都搭配一个.css 文件,用于设置组件的样式,但是这个 .css 文件不是必须的。

  1. 项目的入口文件(类似于 vue 中的 main.js)

    入口文件一般加载根组件。

  • index.js
  • index.css
  1. App.js:根组件
  2. 创建路由组件或子组件,需要自己手动创建文件夹。

React 配置 jsx 语法联想

在 settings.json 文件中,添加一下代码:

"emmet.includeLanguages": {
  "javascript": "javascriptreact"
}

使用 PropTypes 进行类型检查

注意:只检查 prop 值的类型

渲染优化

  1. 父组件 state 数据变化,子组件不变,如果子组件实现了 getDerivedStateFromProps,那么要注意是否应该更新 state;子组件是否应该执行 render();

类名作用域

React 中不管你在哪一个 .css 中设置的样式,都是一个全局样式,对所有组件都生效,一般类名都会增加一个组件前缀,区分不同的标签。

使用 less 解决类名作用域冲突问题

  1. 安装插件 Easy LESS:可以自动将 .less 文件转化成 .css 文件;

React 路由

安装:npm install react-router-dom

内置组件

  1. BrowserRouter: 类似于 vue 中的 history 模式,是通过历史记录的方式实现路由的切换
// 导入路由类
import { BrowserRouter } from "react-router-dom";
// 用组件BrowserRouter将 <App/> 包裹起来,表示用这个路由来控制整个组件的切换
ReactDOM.render(
  <BrowserRouter>
    <App />
  </BrowserRouter>,
  document.getElementById("root")
);
  1. Route 路由
  • 路由的书写顺序:重定向和 404 一定要写在底部
  • 掌握路由的匹配顺序:自上而下,由外向内匹配(嵌套路由)
  • 掌握路由的严格模式和非严格模式:
    • 严格模式:无法匹配二级路由,如果当前路由有二级路由,不要使用严格模式
  • 路由传参:动态参数、查询字符串
  • 路由组件和非路由组件:如何使用 history, match, location
    • withRouter 高阶组件用法

接口跨域

  1. package.json 文件中配置 “proxy”: “http://localhost:4000”,
  2. 下载代理包:http-proxy-middleware
  3. 修改 webpack 的源代码
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值