React项目的开发
一、项目创建是通过我们的create-react-app创建项目的。
二、react和vue都是单页面项目,也就是说只有一页,我们要实现多个页面的操作的话是需要react路由的,所依赖的东西是react-router-dom
三、我们要实现路由重定向的话需要自己声明,操作如下:
import { useEffect } from "react";
import { useNavigate } from "react-router-dom";
export default function Redirect({ to }) {
let navigate = useNavigate();
useEffect(() => {
navigate(to);
});
return null;
}
然后倒入这个代码段,从中拿到Redirect,然后实现路由路由重定向.
四、使用mobx来进行对数据的保存
我们首先要安装依赖
npm i mobx
npm i mobx-react
然后定义一个我们的文件来进行mobx的 配置
import * as mobx from "mobx"
class Store {
token = "1213465"
//这是十分重要的
constructor(){
mobx.makeAutoObservable(this);
}
}
export default new Store();
然后需要我们能够在全局中引入的话需要index.js中配置
import store from "./store/index";
import {Provider } from "mobx-react"
root.render(
<React.StrictMode>
<Provider store={store}>
<App />
</Provider>
</React.StrictMode>
);
然后要在packpage,json中配置
{
"scripts": {},
"babel": {
"plugins": [
[
"@babel/plugin-proposal-decorators",
{
"legacy": true
}
]
],
"presets": [
"react-app"
]
}
}
然后要在我们使用mobx的地方使用即可
import React from 'react';
import {inject,observer} from "mobx-react"
import store from '../../store';
function Target(props) {
return (
<div>
Target {props.value}\{store.token}
</div>
);
}
//只是访问数据的话就只用inject就好了,修改数据的话要加上observer
export default inject("store")(observer(Target));