Skip to content

1.用脚手架创建 React@17版本的项目

image-20230619103650811

默认会使用最新18版本的react,但是我想安装16或者 17版本来学习。

那么可以在安装完脚手架后,手动降级。

编辑package.json文件,修改react和react-scripts和react-dom的版本:

16版本:

bash
"react": "^16.8.2",
"react-dom": "^16.8.2",
"react-scripts": "2.1.5",

#或者
"react": "^16.8.6",
"react-dom": "^16.8.6",
"react-scripts": "3.0.1"

17版本:

bash
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-scripts": "4.0.0",

然后重新 npm i

修改src/index.js:因为 16、17 版本和 18 版本不一样

jsx
import React from 'react'
//18版本:import ReactDOM from 'react-dom/client'
//16/17:import ReactDOM from 'react-dom'

import App from './App'
// 18
// const root = ReactDOM.createRoot(document.getElementById('root'));
// root.render(
//   <React.StrictMode>
//     <App />
//   </React.StrictMode>
// );

// 16/17
ReactDOM.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>,
  document.getElementById('root')
)

注意:16、17 版本一般用 router@5,而 18 版本默认安装就是 router@6,所以这个在安装的时候要设置!

bash
"react-router-dom": "^5.3.0"

2.下拉框等选择控件要控制一些还原时的状态

例如这里的,省份城市联动下拉选择器:

image-20230619115508680

当还原某一个下拉框状态时,应当对另一个进行相关操作:

比如这里如果选择了选省份,那么默认选择全市,城市列表置空

image-20230619112221459

切换了上方类型选项卡,默认选择全省全市,城市列表置空

image-20230619112327129

一旦层级变多了就更复杂,需要考虑的更多!

3.react的脚手架更新比较慢

很多的时候要用强刷才可以更新样式!!!

4.获取 token 本地开启项目的流程

三个项目去掉松果的需求:

访问网站:https://spad.test.classba.cn/debugEntry/#/

点击测试环境(本地开发环境,对应的调用的后端接口是测试环境的)

image-20230619170606680

点击进行登录

image-20230619170632689

点击同步学习

image-20230619170652907

点击添加同步课:

image-20230619170745323

选择年级:二年级

image-20230619170804777

image-20230619170816222

点击开始学习:

然后请求中有一个 getStudyurl,里面有 url,有两个 token

在 readme 中进行修改:得到最终的本地访问路径!

image-20230619171214973

体验测试的账号密码:

19800005478 pbqbk3 19800006301 dgvoa1 19800001076 ysqzut 19800003879 xfcejp 19800008674 1n3arj

语文的:

要选择初中生,全部课程,然后选流程 10,会生成getStudyurl,否则不会

image-20230619174358918

语文的那个结果页面:

image-20230619185926368

英语 pc 端:http://sso.test.classba.cn/login