在React函数组件内部访问ag-Grid API的最佳方法是什么?
我必须使用API中的某些方法(getSelectedNodes
,setColumnDefs
等),所以我将对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
};