0%

前端学习

写在前面

最近由于个人原因需要进行一些前端页面的开发,所以就对一些前端框架进行了调研。我本来想继续用之前的layui一把梭直接搞的,但是想想还是应该接触一些新东西,所以就以react框架来作为我前端开发的一小步吧。

如何入门

环境搭建

可以直接看官网的这个,很简单

https://react.docschina.org/tutorial/tutorial.html#setup-option-2-local-development-environment

安装Yarn

https://www.yarnpkg.cn/getting-started/install

使用Yarn进行React开发

https://cra.nodejs.cn/docs/getting-started/#yarn

一些问题

如何开发多页面

一些资料

https://reactrouter.com/en/main

在App.js内,你可以

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import { BrowserRouter, Route, Routes } from 'react-router-dom';
import HomePage from './homepage/HomePage.js';
import Page1 from './homepage/HomePage.js';

function App() {
return (
<div className='App'>
<BrowserRouter>
<Routes>
<Route path='/' element={<HomePage />} />
<Route path='/Page1' element={<Page1 />} />
</Routes>
</BrowserRouter>
</div>
);
}
export default App;

上面的path对应的就是子页面的路径,element对应的就是这个页面的子组件

然后对应的实现各个组件就可以进行子页面开发啦。

打包出问题

用脚手架生成的打包命令是npm run build,但是如果你的代码里面的import有通过相对路径进行引入的,就需要改一下脚手架生成的package.json

加上”homepage”:”./“那一行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{
"name": "233333",
"version": "0.0.1",
"private": true,
"homepage": "./",
"dependencies": {
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^13.3.0",
"@testing-library/user-event": "^13.5.0",
"axios": "^0.27.2",
"mockjs": "^1.1.0",
"react": "^18.2.0",
"react-cookies": "^0.1.1",
"react-dom": "^18.2.0",
"react-router-dom": "^5.3.0",
"react-scripts": "5.0.1",
"tdesign-react": "^0.40.4",
"web-vitals": "^2.1.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}

改变state

改变state的时候要用setState函数操作变量,而不是直接对绑定的变量进行操作

详情可见:
https://www.runoob.com/react/react-state.html

一些关键字

重定向页面 window.location.replace(XXXX)