如何解决有人可以帮我将打字稿代码转换为 React 代码吗
有一个叫做 react-data-grid 的包。在该特定包上有一个示例 table,但代码在 TypeScript 中,并且此特定版本的文档也不在那里。我试图将打字稿转换为 React。一切都很好,直到我想实现拖放。一些错误即将到来,我认为这个错误是因为我以错误的方式导入了一些东西。你能告诉我我哪里做错了吗? 这是Sandbox link。 我本地构建中的错误出现在第 44 行的 RoWrender.js 上。 我还在那里包含了打字稿文件。 如果您只是取消注释 sandbox 中 App.js 组件的第 72-74 行,您也可以看到错误。
解决方法
- 将 .ts 文件重命名为 .tsx 文件。在另一种情况下,TypeScript 将无法理解
<div>
<Row>
和其他 react 元素 - 将关于 react-data-grid 的导入更新为:
import { Row,RowRendererProps } from "react-data-grid";
- 更新您的导入
import { useCombinedRefs } from ...
以从正确的位置获取钩子。 - 如果您看到有关 React 默认导入的错误 - 将
import React from 'react'
更改为import * as React from "react";
或更新tsconfig
以支持 synthetic imports
useCombinedRefs
- 是未导出的内部函数,因此您不能直接使用它。选项#1 - 自己写。选项#2 找出您尝试使用内部函数的原因。应该是更好的方法。
function useCombinedRefs(...refs) {
return useCallback(handle => {
for (const ref of refs) {
if (typeof ref === 'function') {
ref(handle);
} else if (ref !== null) {
ref.current = handle;
}
}
},refs);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。