代码之家  ›  专栏  ›  技术社区  ›  Ole EH Dufour

如何使用控制台评估react mobx中的可观测或计算数组。日志

  •  0
  • Ole EH Dufour  · 技术社区  · 7 年前

    我有一个经过计算的数组,可以在其中进行迭代,而不会出现如下问题:

    <select>
      {releaseDefault.map(ref =>
        <option key={ref.id}>{ref.name}</option>
      )};
    </select>
    

    我试图在渲染方法中使用 autorun

      autorun(() => {
          console.log(releaseDefault); //value is a computed array.
        });
    

    结果:

    (4) [{…}, Proxy, Proxy, Proxy]
    0 Proxy[[Handler]]:Object[[Target]]:Object[[IsRevoked]]:false
    1 Proxy[[Handler]]:Object[[Target]]:Object[[IsRevoked]]:false
    2 Proxy[[Handler]]:Object[[Target]]:Object[[IsRevoked]]:false
    3 Proxy[[Handler]]:Object[[Target]]:Object[[IsRevoked]]:false
    

    问题:如何访问实际数组而不是上述结果? 对实际可观察到的事物有同样的问题。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Ole EH Dufour    7 年前

    我设法通过 评估包含此数组的类 例如:

    import { Map as iMap } from "immutable";
    render(){
    
    let rc = iMap(referenceClass)
    console.log("Values of observables in class 'referenceClass' ",rc.toJS());
    
    return (
    ...
    

    别忘了安装immutable:

    npm i immutable 
    

    如果你有更好的方法让我知道。。。

        2
  •  0
  •   jcdiprose    5 年前

    mobx 6.2.0自带 toJS() 所以不需要一成不变。

    我不确定以前的版本

    import { toJS } from 'mobx' 这有什么诀窍吗