javascript - 如何获得任意jsx的大小/边界矩形?
问题描述
我目前正在尝试获取从函数返回的一些 jsx 的尺寸/边界矩形。我在网上看到的每篇文章都说要创建一个引用并使用 element.current.getBoundingRect()。但是,我无法使用我的代码执行此操作,因为我正在使用一个函数来动态构建此 jsx 并将其放入一个对象中,而不是制作完整的反应组件。
有什么办法可以做到这一点吗?或者这是不可能的?
我唯一能做的就是在我的 .forEach 中动态创建一个新的全功能组件,而不是仅仅在一个片段中创建 jsx,但是当我尝试它仍然无法工作时,因为我无法访问 ref 之后.
编辑:这是我制作 jsx 的方式
export const createNodeTypes = (data) => {
const nodesList = {};
if (data) {
data.forEach(({ node }) => {
const newNode = () => (
<>
<div>
<[insert other jsx here]>
</div>
</>
);
nodesList[node.name] = newNode;
});
}
return nodesList;
};
值得注意的是,我这样做的原因是为了创建一个 nodeTypes 对象,比如 react-flow-renderer 期望自定义节点类型
解决方案
推荐阅读
- docker - Dockerfile:Python.h:没有这样的文件或目录
- ios - TvOS - UIRequiredDeviceCapabilities 问题
- api - Rest API 资源:为 post 组合但单独获取可以吗?
- object - 如何在 uwp 应用程序中将列表视图项用作按钮?或者如何通过单击 uwp 中的列表视图项来更改文本框的文本?
- algorithm - 分析具有以指数方式扩展而不是恒定量的变量的循环
- java - 获取 InvalidDataAccessApiUsageException:使用 ExampleMatcher 时,来自根 %s 的路径“%s”不得跨越循环属性引用
- reactjs - TypeError:无法读取 ReactJS 中未定义的属性“名称”
- powershell - PowerShell - 为什么这不重命名我的文件?
- aws-lambda - API GW V2 HTTP API 和旧版 lambda 授权器
- csv - 如何使用 SPSS 语法使用“获取数据”命令导入 .TSV 文件?