【问题标题】:Using Ag grid's gridApi from multiple components从多个组件中使用 Ag 网格的 gridApi
【发布时间】:2021-12-06 15:16:10
【问题描述】:

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

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

谢谢。

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: reactjs ag-grid


【解决方案1】:

由于您使用的是 React,因此您可以使用几种方法从其他组件访问 gridApi。这三种方法都适用,具体取决于您的需求。

  1. 道具钻孔

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

  1. 全局状态 (Redux)

我可以看到您当前正在使用此方法。

  1. 上下文/使用上下文

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-15
    • 2020-03-10
    • 2020-03-30
    • 2021-11-09
    • 2021-04-23
    • 2021-08-26
    • 2020-05-26
    相关资源
    最近更新 更多