当错误模拟出现在 mobx-firebase-store 包中时,如何修复“[mobx] deprecated: `mobx.map` is deprecated”错误?

How to fix "[mobx] deprecated: `mobx.map` is deprecated" error when the error sims to be in mobx-firebase-store package?

我正在学习 lynda.com 课程,这是我拥有的代码

import firebase from 'firebase'
import MobxFirebaseStore from 'mobx-firebase-store'

const config = {
    // I pasted the info from google firebase here
  }

export default class SettingsStore extends MobxFirebaseStore {
    constructor() {
        firebase.initializeApp(config)
        super(firebase.database().ref())

        this.splashTime = 5000
        this.splashImg = require('../../images/splash.jpg')
    }
    get SplashTime(){
        return this.splashTime
    }
    get SplashImg() {
        return this.splashImg
    }

}

这是唯一重新引用的地方 mobx-firebase-store

我得到的错误是 mobx.map 已弃用,请使用 new ObservableMapmobx.observable.map

mobx.map 用于 mobx-firebase-store 包的第 244 行,我试图简单地将 mobx.map 更改为 mobx.observable.map 但没有任何反应。

我阅读了 mobx-firebase-store 的自述文件,代码与我的 class 完全不同。我只是不想停止播放视频,因为我不知道如何重新开始。

上面的代码是否已完全弃用,或者我可以做些什么来推进课程?

您无法真正解决它,但与其说是错误,不如说是警告。

mobx-firebase-storemobx 作为 peerDependency 并使用 map。当 map 被删除时,您可以使用仍然有它的 mobx 版本。

@relidon 您遇到的问题与以下事实有关:mobx 弃用了 mobx-firebase-store 所依赖的功能 (mobx.map)。 mobx-firebase-store 有一段时间没有更新了,所以要让项目正常运行,只需恢复到 mobx 版本 2.6.3 即可继续 dinder 课程。显然,这对于 "real" 个应用来说不是一个好的解决方案。

我是 mobx-firebase-store 的作者,刚刚发布了一个版本 -- 1.0.1 -- 适用于 mobx 3.1.3 和新的 mobx.observable.map。