私の仕事では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
か?