在React函数组件内部访问ag-Grid API的最佳方法是什么?

我必须使用API​​中的某些方法(getSelectedNodessetColumnDefs等),所以我将对API的引用(使用useState钩子)保存在onGridReady事件处理程序中:

onGridReady={params => {
    setGridApi(params.api);
}}


然后我可以像这样调用API:gridApi.getSelectedNodes()

我没有注意到这种方法有任何问题,但是我想知道是否还有更惯用的方法?

堆栈:


农业网格社区和农业网格反应22.1.1
反应16.12.0

最佳答案

好吧,我正在我的项目中做到这一点。您可以使用useRef挂钩存储gridApi

const gridApi = useRef();

const onGridReady = params => {

   gridApi.current = params.api;  // <== this is how you save it

   const datasource = getServerDataSource(
     gridApi.current,
     {
       size: AppConstants.PAGE_SIZE,
       url: baseUrl,
       defaultFilter: props.defaultFilter
     }
   );

  gridApi.current.setServerSideDatasource(datasource); // <== this is how you use it
};

07-26 06:58