2017-04-19 8 views
1
私は次のライブラリ使用してい

Reduxのは、拡張エラーをデベロッパーツール際に派遣@ ngrx /ルータ-店舗アクション

  • アンギュラ4
  • @ ngrx /ルータ-店に
  • @ ngrx /ストアデベロッパーツールをつい最近

、現在アクティブなルートへrelativeToセットでgoルータアクションを派遣しようとしている:

go(['test', id], {}, {relativeTo: this._active})) 

私はこのエラーを取得しています:

ERROR TypeError: toISOString is not a function 
    at String.toJSON (<anonymous>) 
    at Object.<anonymous> (shim.js:736) 
    at derez (<anonymous>:2:5166) 
    at derez (<anonymous>:2:5787) 
    at derez (<anonymous>:2:5787) 
    at derez (<anonymous>:2:5787) 
    at derez (<anonymous>:2:5787) 
    at derez (<anonymous>:2:5605) 
    at derez (<anonymous>:2:5787) 
    at derez (<anonymous>:2:5787) 
    at derez (<anonymous>:2:5787) 
    at derez (<anonymous>:2:5787) 
    at derez (<anonymous>:2:5605) 
    at derez (<anonymous>:2:5787) 
    at derez (<anonymous>:2:5787) 

を(this issueに類似)ペイロードにActivatedRouteを取り扱うデベロッパーツールに問題があるようです。

(ここで示唆したように:Redux Devtools Extension Troubleshootingを)私はgoアクションクリエイターの新しいバージョンを実装する場合NavigationExtrastoJSON機能を追加するために、それすべての作品:

go(path: string|any[], query?: any, extras?: NavigationExtras): any { 
    extras['toJSON'] = function(): any { 
     return { ...this, relativeTo: this.relativeTo.snapshot.url }; 
    }; 

    const payload = { path, query, extras }; 
    return { type: routerActions.GO, payload }; 
} 

は、他の誰がこの問題に実行されました?どのようにこれを修正するための任意の提案?

更新:また、遅延ロードされたルートと関連があるように見えます。現在のルートが遅延ロードされたモジュールの一部である場合(つまり、loadChildren経由)、エラーが発生します。

答えて

0

ほとんどの場合、直列化できないReact Synthetic Eventを渡しています。同様の問題とトラブルシューティングを参照してください。この問題の解決策は、React内部に依存しているため、React 16では使用できないことに注意してください。したがって、私はこのソリューションの1つを選択することをお勧めします。troubleshooting.

しかし、この場合、jsanを投げないようにすることはできますが、少なくともそれらのデータをスキップすることはできます。そこにテストケースを含むPRを追加することができれば、非常に感謝しています。 toISOStringの問題は、私が再現できなかったような特定のイベントの問題のようです。

+0

提供されたリンクを使用して解決できました。また、この同じ問題がhttps://github.com/ngrx/platform/pull/12の議論で参照されていたので、うまくいけばすぐにフレームワークで解決されます –

0

redux-devtoolsはjsonが正常に機能するように関数を解析しようとしていますが、ストア内のすべてがオブジェクトであり関数ではないと考えていますので、reduxの基本的な考え方を破ります。関数の排出は角度の標準を使用します

関連する問題