javascript - 如何将组件引用传递给另一个组件?
问题描述
我有两个组件 Grid 和 Filter,我需要链接这两个组件。即,将 Grid 链接传递给 Filter。为了能够告诉过滤器使用哪个网格,需要在过滤器中链接到网格。
App.js:
return (
<div>
<Grid ref={ref1}.../>
<Filter gridRef={ref1}.../>
<.../>
</div>
)
我需要做什么?
解决方案
您必须使网格成为一个frowardRef
组件。了解 forwardRef 组件。
useRef
接下来,在父组件中创建一个带有钩子的 ref(比如说 rfGrid) 。将 rfGrid 传递给 Grid 组件的 ref 属性,并将 rfGrid 传递给 Filter 组件的 gridRef 属性。
import React, { useRef } from 'react';
const Parent = () => {
const rfGrid = useRef();
return (
<div>
<Grid ref={rfGrid} />
<Filter gridRef={rfGrid} />
</div>
);
};
推荐阅读
- html - 我的 CSS 列不相邻
- r - 使用R中的ggplot将geom_tile移动到绘图区域之外?
- mongodb - 查询包含在多边形中的所有轨迹(经度/纬度数组)的 Mongo DB
- angular - 在 Angular 中使用组件的选择器和 ComponentFactoryResolver 动态加载组件
- json - MySQL JSON 处理 -> 和 ->> 运算符不起作用
- c++ - 如何使用带有继承的析构函数?
- javascript - 转换承诺
从超级代理响应到 Typescript 中的字符串 - python-3.x - 如何持续获取用户输入并将它们绘制在图表上?(python)
- python - Python中的日期时间模块可以格式化为输出两位数吗?
- asp.net - 为什么在 ASP.NET 中使用 @model