mobx管理工具

它有多个store

首先下载关于它的依赖
cnpm i mobx@5.15.7 -S
cnpm i mobx-react@6.2.2 -S //在src文件夹里的index.js引入

所以应该有一个有关他的文件夹

import { observable, computed, action, toJS } from ‘mobx’
/*
observable 是声明的 computed有get也有set action是修改的 toJS是查看的
*/

import { getList } from ‘@/servers’
class Store {
@observable num = 10
@observable str = ‘玛德’
@observable arr = []
@observable obj = { name : ‘wrk’ }
@observable bool = false

@computed get total () { //使用get的时候 得调用
return this.num + 50
}
set total (n) { //使用set的时候 相当于监听
console.log(‘走走total’)
this.num = 456
}

@action bar(){
this.num = 5
}
@action async one(){
const arr1 = await getList()
this.arr = arr1.data.result.list

console.log(toJS(this.arr));

}
}
export default new Store()

在src里的index.js中

import React from ‘react’;
import ReactDOM from ‘react-dom’;
import Router from ‘@/router’;
import ‘@/style/index.less’
import { Provider } from ‘mobx-react’
import store from ‘@/mobx’

ReactDOM.render(
<Provider {…store}>

,
document.getElementById(‘root’)
);

在使用的时候::

import { observer, inject } from ‘mobx-react’

export default
@inject(‘niang’) //引入哪些mobx的文件
@observer //这个是更新
class Niang extends React.Component {
pop = () => {
this.props.niang.one()
}
render() {
const { niang } = this.props
const { arr } = this.props.niang
// console.log(toJS(arr));
return (


{niang.num}


点我

)
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值