首页 > 解决方案 > 我使用 mobx 5.15.7 看到奇怪的行为

问题描述

您好,我习惯于 mobx 4 刚刚进入 mobx 5,我注意到语法和您读取的可观察变量的某些方式已经改变我正在尝试登录到控制台。记录我从路由获取的一些数据的输出,但我是看到代理和其他一些东西。屏幕截图发布在下面,我们将不胜感激。

这是我有一些明智的代码。

    const { team } = this.props.teamStore;
    console.log(this.props.teamStore)
    const userTeams = !!team ? team : null;
    console.log(userTeams)
    return (
      <div className="text-center mt-40">
        <div>Home page again lets get it.</div>
        {this.getTeams()}
      </div>
    );

这是我遇到的奇怪输出

[[Handler]]: Object
[[Target]]: Array(3)
[[IsRevoked]]: false

标签: reactjsmobxmobx-react

解决方案


这是正常的,MobX 5Proxy在后台使用 ( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy ),这就是它对您的可观察数据所做的事情。

如果您想要常规控制台输出,您可以尝试对toJS数据使用方法,如下所示:

import { toJS } from 'mobx';

// ...

console.log(toJS(userTeams))

更多信息:https: //www.mobxjs.com/refguide/tojson.html


推荐阅读