亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當列具有返回React組件的cellRenderer時,AgGridReact rowData

當列具有返回React組件的cellRenderer時,AgGridReact rowData

郎朗坤 2021-04-02 14:11:42
給定AgGridReact類似以下內容的組件:<AgGridReact rowData={myData}>     <AgGridColumn field="status" cellRenderer={() => <span />} />     </AgGridReact>當我將不同的值傳遞給myDataprop時,出現以下錯誤:ag-Grid:當網格位于圖形行的中間時,無法使網格繪制行。當網格處于渲染階段時,您的代碼可能稱為網格API方法。為了解決這個問題,請將API調用置于超時中,例如,代替setapi.refreshView(),調用setTimeout(function(){api.refreshView(),0})。要查看導致刷新的代碼的哪一部分,請檢查此堆棧跟蹤。如果將cellRenderer替換為,則不會發生此問題() => 'foo'。我沒有調用任何網格API方法。從堆棧跟蹤中,有問題的API調用是內部的(已調用,因為已rowData更改)。該rowData道具來自Redux商店。它是由傳奇派出的動作而改變的。這可能相關,也可能不相關。
查看完整描述

2 回答

?
繁花不似錦

TA貢獻1851條經驗 獲得超4個贊

對于遇到此問題且沒有上述特定錯誤的任何人,當我在工具提示渲染器中出現錯誤(我試圖在null上調用filter)時遇到了此錯誤,并且由于HMR(熱模塊重新加載)而出現了問題)刷新組件的方式與冷啟動時有所不同。

拉出一些頭發并用Google搜尋直到每個鏈接都變成紫色后,我向ag-grid本身添加了一些自定義日志記錄。在ag-grid-community.amd.js(您可能需要一個不同的文件)中,我添加了以下內容,getLockOnRefresh()以便我理解調用getLockOnRefresh的內容,并在該錯誤處拋出該錯誤。

console.log('hi there', throw new Error().stack)

然后,我在Web檢查器中添加了一些調試語句,最終在我的工具提示渲染器中發現了實際錯誤。

因此,可以將其視為圍繞ag-grid和HMR的警告信標,這可能會吞噬錯誤并導致您暫時走錯路。

這可能無關緊要,但是如果相關的話,我也使用React,Redux,Immer,并且我的網站已加載到Electron中。


查看完整回答
反對 回復 2021-04-22
?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

使用cellRendererFramework修復問題。就像是:


class MyComponent extends React.Component {

    render() { return <span />; }

}

<AgGridColumn field="status" cellRendererFramework={MyComponent} />

這有點不方便,但是可以。


查看完整回答
反對 回復 2021-04-22
  • 2 回答
  • 0 關注
  • 529 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號