私の仕事ではAG-Grid、反応バリアントで使用することにしました: https://www.ag-grid.com/best-react-data-grid/index.php
現在、 のアーキテクチャはReactですRedux。私のわずかな知識から、AG-Gridこのアーキテクチャにはあまり適していないと言えます。AG-Gridコンポーネント内の全体的な状態を維持します。それを強制的かつ完全に redux に接続しようとするのは面倒であり、賢明ではありません。
私はそれを受け入れることができますが、少なくとも行モデルの変更を監視する必要があります-つまり、新しい行のフェッチ、並べ替え、フィルタリング(セルの変更を監視する必要はありません)。これを監視してreduxに接続する方法について、2つのアイデアがあります。
オプション 1 - gridOptions.onModelUpdated() を使用する
gridOptions.onModelUpdated()フィルタリングまたはソートがいつ実行されたかはわかっていますが、表示されているすべての行にアクセスできません ( docs ) :
状態 1: 行データ
API: このデータを取得するための API はありません。ただし、アプリケーションによって提供されているため、既に持っているはずです。
reduxしたがって、更新するデータがないため、アクションをディスパッチできません。
オプション 2 - datasource.getRows()
新しい行でアクションをディスパッチできます。ただし、onReset/onRowsDeleted/...イベントが見つからないため、redux をいつクリアするかわかりませんstate.rows。更新paramsの引数が の場合、前の行がクリアされたことを知ることができdatasource.getRows(params)ますparams.startRow === 0。
質問
たぶん、2つのオプションのいずれかを使用する方法を見つけるかもしれませんが、私の質問は次のとおりです。
AG-Gridに接続する方法について、これらの良いアイデアはありますReduxか?