我是新手刚看了几天mobx就上手做项目,目前我遇到的问题:
import { observable, action, computed, useStrict } from 'mobx'
useStrict(true)
class DeviceStore {
@observable deviceList = []
@observable copyDeviceList = []
@observable searchText = ''
@observable pagination = {}
@observable delSelectedRowKeys = []
@action async getDeviceList() {
let resp = await reqwest({
url: '/mock-api/device-list.json',
method: 'get',
data: {
identityId: '5105551111222233330151'
}
});
const pagination = {}
this.pagination.total = resp.data.length || 0
this.deviceList = resp.data
this.copyDeviceList = resp.data
}
}
const deviceStore = new DeviceStore()
export default deviceStore
理论上来说 我是希望有限制,只能通过action来改变state。 但是浏览器报错:
我查看了mobx 库(版本4.1.1) lib 下的 mobx.d.ts
文件,里面已经没有useStrict 函数了。我又下载了比较低一点的版本的mobx (版本 3.6.2) lib 中的 mobx.d.ts
文件里面是有useStrict 函数的,当然这个版本的mobx 不会报错的。
我想问一问,现在useStrict 已经不用了么? 那么高版本的mobx 如何限制必须通过action 才能修改state?