mobx操作详解

在操作mobx之前首先你得先了解一下mobx是用来干嘛的

mobx官网:`https://cn.mobx.js.org/`

其次拥有自己得一个react-mobx项目(前几天发了一次项目创建流程)

1.src/创建store.js用来存放数据

import { observable, computed, action, autorun, runInAction } from "mobx";
// import {observable, computed, action} from 'mobx';
// @observable
// 等同于 this.state 可以被读取也可以被修改
// @observer
// 等同于 view 页面中
// 主要是为了让页面变成响应式,能进行读取和操作 store
// @action
// 等同于 this.setState 修改
class Store {
  @observable tradeCfg = {
    sadf: "sadf",
  };
  @observable baseInfo = {};
  @observable callback = null;
  @observable token = [
    {
      id: 1,
      name: "YD",
    },
    {
      id: 2,
      name: "ETH",
    },
  ];
}

export default Store;

2.在Router.js入口中引入并注入数据

import NewStore from "./store/store";
const stores = {
  first: new FirstStore(),
  //可以有多个
};

注入数据

 <BrowserRouter>
    {/* 根入口注入数据 */}
    <Provider {...stores}>
      {/* {...store}等同于stores={stores} */}
      <App />
    </Provider>
  </BrowserRouter>

3.src/views/创建first文件/index.jsx

import React, { Component } from "react";
import { withRouter, NavLink } from "react-router-dom";
import { observer, inject } from "mobx-react";
@withRoute //更新数据
@inject('first')//接收数据
@observer 让页面变成响应式
class view extends Component.....

4.在App.js中更改路由配置

引入
const First = lazy(() => import("./views/first"));
 render() {
    return (
      <Suspense fallback={<div>Loading...</div>}>
        <Switch>
          {/* route使用 */}
          <Route exact path="/" component={First} />
          {/*exact 精准匹配 */}
          <Redirect to="/" />
          {/* redirect里面写的相当于404  非法url*/}
        </Switch>
      </Suspense>
    );
  }
  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码上流星&洒下星辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值