2016-07-22 198 views
4

在我的工作,我們決定採用AG-Grid反應變異:https://www.ag-grid.com/best-react-data-grid/index.phpAG-電網與終極版

目前,我們對React架構是Redux。從我的小知識AG-Grid我可以說,它不適合這個架構。 AG-Grid保持組件內的整體狀態。嘗試將它強制並完全地與redux連接起來很麻煩,甚至不夠聰明。

我可以忍受這一點,但至少我需要注意行模型的變化 - 意味着提取新行,排序,過濾(我不需要監視單元格更改)。我有2個關於如何觀察這個並將它連接到redux的想法。

選項1 - 使用gridOptions.onModelUpdated()

隨着gridOptions.onModelUpdated()我知道過濾或排序時,被執行了,但我不能去(docs)顯示所有行:

國家1:行數據

API:沒有API來獲取此數據。但是它是由應用程序提供的,所以你應該已經擁有了它。

因此我無法發送redux操作,因爲我沒有任何數據用於更新。

選項2 - datasource.getRows()

我可以派與新行的行動。但是,我還沒有發現任何onReset/onRowsDeleted/...事件,因此我不知道何時清除redux的state.rows更新我可以知道前面的行已被清除,如果辯論者paramsdatasource.getRows(params)params.startRow === 0

問題

也許我找到一個方法如何使用的2個選項之一,但我的問題是:

那些是很好的想法,如何AG-Grid連接到Redux

+0

你有沒有弄清楚你的解決方案?我正在尋找類似的設置,我認爲實現數據源鉤子有點「棘手」......完全可以,特別是對於1次請求,但對其他地方的表數據更改並不可行在該州,需要重新加載/更新Ag-grid – zeroasterisk

+0

男人,我被要求做出主意。星期一我會有一個。 – zatziky

+0

@zeroasterisk這是要點:https://gist.github.com/zatziky/72f0826e97a011d3f2af75df84981b61它來自我們的PoC,我永遠不會發布這樣的混亂......它雖然工作。我只是因爲被問到才發表它。 :)我們添加了一些附加功能,如只讀網格和其他一些東西。在我們目前的項目中,我們有緊迫的期限,所以沒有足夠的空間來重構這個組件。只要我們重構它,我會更新鏈接。 – zatziky

回答