Reactjs 如何在React with Typescript中使用Sigma.js

Reactjs 如何在React with Typescript中使用Sigma.js,reactjs,typescript,npm,import,sigma.js,Reactjs,Typescript,Npm,Import,Sigma.js,我正在尝试用React/TypeScript设置一个简单的web应用程序,这样我就可以用Sigma.js处理一些图形。但我无法得到最终结果,用Sigma渲染任何东西 以下是我遵循的步骤: $ npx create-react-app sigmafiddle --template typescript^C $ cd sigmafiddle $ yarn add sigma $ yarn add @types/sigmajs 然而,当我去导入Sigma时,我遇到了以下问题: import { si

我正在尝试用React/TypeScript设置一个简单的web应用程序,这样我就可以用Sigma.js处理一些图形。但我无法得到最终结果,用Sigma渲染任何东西

以下是我遵循的步骤:

$ npx create-react-app sigmafiddle --template typescript^C
$ cd sigmafiddle
$ yarn add sigma
$ yarn add @types/sigmajs
然而,当我去导入Sigma时,我遇到了以下问题:

import { sigma } from 'sigma' 
失败,并显示以下错误消息:

~/devel/sigmafidle/src/App.tsx(4,23)中的类型脚本错误: 找不到模块“sigma”的声明文件~/devel/sigmafidle/node_modules/sigma/endpoint.js’隐式具有“any”类型。 如果存在,请尝试
npm install@types/sigma
,或者添加包含
声明模块“sigma”的新声明(.d.ts)文件TS7016
这不是一条真正有用的消息,因为npm中不存在@types/sigma

如果我试试这个:

import { sigma } from 'sigmajs' 
我得到这个失败:

~/devel/sigmafidle/src/App.tsx(4,23)中的类型脚本错误: 文件“~/devel/sigmafidle/node_modules/@types/sigmajs/index.d.ts”不是模块。TS2306

我还尝试了包
react sigma

yarn add react-sigma

// in app.tsx
import {Sigma, RandomizeNodePositions, RelativeSize} from 'react-sigma';
不幸的是,没有
@types/react sigma
包,因此导致以下错误:

找不到模块“react sigma”

如何让sigma.js使用TypeScript并做出反应?

您没有导入要使用的内容 替换

/// <reference types="@types/sigmajs" />
通常,如上所述导入是在js/ts项目中使用lib的常用方法


更新 由于错误似乎缺少库的类型定义

文件“~/devel/graph grammar/node_modules/@types/sigmajs/index.d.ts”不是模块

npm安装--save@types/sigmajs
和进口一样正常工作

import { sigma } from 'sigma';


更新第二号 您可能需要在react项目中使用react sigma

安装它,并导入参考文件似乎很好

import {Sigma, RandomizeNodePositions, RelativeSize} from 'react-sigma';
如果不起作用,请尝试同时安装
sigma
react sigma
,因为
ploty.js
需要同时安装
ploty.js
react ploty.js
,我想您可能会遇到类似的情况


更新第三号 似乎react sigma不支持
typescript
,而是支持
flow type


请参阅:文档

正如我在OP中所说,导入语句不起作用。
文件“~/devel/graph grammar/node_modules/@types/sigmajs/index.d.ts”中的编译器错误不是一个模块。
我将试用它。我看不到它的typescript绑定,所以我可能不得不直接使用常规的旧javascript。好的,我已经重写了这个问题。另外,导入@types/sigmajs仍然不能与import语句一起工作。我不确定我是否理解您的上一个解决方案。我可以一起安装sigma和react sigma,但我没有从这两个包中获得TypeScript的类型绑定。我已经验证了react sigma在纯JS应用程序中是独立工作的,问题是我遇到的似乎是特定于TypeScript的,并且没有正确的类型绑定。也许他们根本就不存在。
import {Sigma, RandomizeNodePositions, RelativeSize} from 'react-sigma';