从多个组件使用 Ag 网格的 gridApi

Using Ag grid's gridApi from multiple components

我在我的一个 React 应用程序中使用了 ag 网格。我正在其中一个组件中初始化我的网格,并通过 onGridReady 方法中的 useState 将 gridApi 保存在状态变量上。

问题是,我还想从其他一些组件访问 gridApi。它的最佳实践是什么?例如,我在 X 组件中初始化我的网格,我也想从 Y 组件访问 gridApi。目前我将 gridApi 存储在 redux 上,并在其他组件需要时从存储中检索它。还有其他更好的方法吗?另外,在 redux 中存储 gridApi 有什么陷阱吗?

谢谢。

由于您使用的是 React,因此您可以使用一些方法从其他组件访问 gridApi。根据您的需要,这三种方法都很有效。

  1. 螺旋钻

假设您有一个父组件,其中有一个网格组件和另一个组件作为子组件。您可以在父组件上定义一个状态变量,然后在网格初始化时向网格组件提供回调以设置状态。现在您在父组件中有了 gridApi,您可以通过将其作为 props 传递给其他子组件来共享它。您可以在具有解决方案的 中找到它的实现。

  1. 全局状态(Redux)

我看到您目前正在使用此方法。

  1. 上下文/使用上下文

类似于 Redux 方法,但使用 React Context

保留 gridApi