• mobx 简单使用


    mobx中文文档: https://cn.mobx.js.org/
    

      

    安装: 

    npm install mobx --save
    npm install mobx-react --save

      

    下面写了个简单的案例demo。

    1、在入口文件写配置

    import React from 'react';
    import ReactDOM from 'react-dom';
    import { Provider } from 'mobx-react'    //
    import store from '@/store'                   //
    import Router from './router';  
    
    ReactDOM.render(
      <Provider {...store}>    //这里注入你所需要的页面
          <Router />
      </Provider>,
      document.getElementById('root')
    )
        
    

      

    2、在store里建立了一个home页面。

    import { observable, action } from "mobx";
    import { get } from '@/utils/request' 
    import api from '@/services/api'
    
    class Store {
      @observable name = '铁柱'
      @observable data = []
    
      // 请求数据
      @action async fetch () {
        const res = await get(api.getuser)
        
        if(res.status == 200){
          this.data = res.users
        }
      }
      // 修改name值
      @action setName (option) {
        this.name = option
      }
    }
    
    const homeStore = new Store()
    
    export default homeStore
    

      

    3、在store里建立了一个index页面。

    import homeStore  from './home'
    
    export default {
      homeStore
    }
    

      

    4、home页面

    import React, { Component } from 'react'
    import { inject, observer } from 'mobx-react'
    
    export default 
    @inject('homeStore') //你需要那个页面的mobx 就写那个,这个名字对应上面导出的名字
    @observer
    class extends Component {
      // 初始化数据
      componentDidMount () {
        this.props.homeStore.fetch()
      }
    
      // 修改name值
      editName = () => {
        this.props.homeStore.setName('小白')
      }
      render() {
        const { data, name } = this.props.homeStore
    
        return (
          <div className='page-home'>
            { name }
            <button onClick={this.editName}>修改name值</button>
            <div>
              {JSON.stringify(data)}
            </div>
          </div>
        )
      }
    }
    

      

  • 相关阅读:
    java_爬虫_从腾讯视频播放界面爬取视频真实地址
    杂_小技巧_将网页上的内容通过亚马逊邮箱传到kindle中
    java_基础_接口和抽象类
    知乎上的50道SQL练习题
    第 4 章 WebDriver API
    第 2 章 测试环境搭建
    第 1 章 自动化测试基础
    【软件测试】9.QC管理学习(类禅道)学习
    01 Python简介、环境安装、变量、数据类型
    【MySQL面试指南】
  • 原文地址:https://www.cnblogs.com/yetiezhu/p/13038255.html
Copyright © 2020-2023  润新知