无法在 React 中使用 NPM 包
Not able to use NPM package in React
我想在我的 React 应用程序中使用 TagCloud,但我无法让它工作。
我在控制台中没有收到任何错误消息,它只是没有出现。
我在纯 HTML 和 JS 中使用了相同的代码,它在那里工作
由于这个错误,我不得不以另一种方式导入包:
Could not find a declaration file for module 'TagCloud'. 'D:/Javascript/portfolio/node_modules/TagCloud/dist/TagCloud.js' implicitly has an 'any' type.
这是我的 React 组件
import React from 'react';
import './about.scss';
function About() {
const TagCloud = require('TagCloud');
const Tags = [
'JavaScript',
'CSS',
'HTML',
'Vscode',
'XD',
'React',
'Python',
'Linux',
'git',
'Flutter',
'Dart',
'Firebase',
'SASS',
'JSON',
'Figma',
];
TagCloud('.content', Tags, {
radius: 250,
maxSpeed: 'fast',
initSpeed: 'fast',
direction: 135,
keep: true,
});
return (
<div className="About" id="About">
<div className="left">
<div className="heading">
<h1>ABOUT</h1>
</div>
</div>
<div className="right">
<span className=".content">
</span>
</div>
</div>
);
}
export default About;
import React, { useEffect, useRef } from 'react'
import TagCloud from 'TagCloud'
const Tags = [
'JavaScript',
'CSS',
'HTML',
'Vscode',
'XD',
'React',
'Python',
'Linux',
'git',
'Flutter',
'Dart',
'Firebase',
'SASS',
'JSON',
'Figma',
]
function App() {
const IsTagCloudLoaded = useRef(false)
useEffect(() => {
if (IsTagCloudLoaded.current) return
TagCloud('.content', Tags, {
radius: 250,
maxSpeed: 'fast',
initSpeed: 'fast',
direction: 135,
keep: true,
})
IsTagCloudLoaded.current = true
}, [])
return (
<div className='About' id='About'>
<div className='left'>
<div className='heading'>
<h1>ABOUT</h1>
</div>
</div>
<div className='right'>
<div className='content' />
</div>
</div>
)
}
export default App
结果
我想在我的 React 应用程序中使用 TagCloud,但我无法让它工作。 我在控制台中没有收到任何错误消息,它只是没有出现。 我在纯 HTML 和 JS 中使用了相同的代码,它在那里工作
由于这个错误,我不得不以另一种方式导入包:
Could not find a declaration file for module 'TagCloud'. 'D:/Javascript/portfolio/node_modules/TagCloud/dist/TagCloud.js' implicitly has an 'any' type.
这是我的 React 组件
import React from 'react';
import './about.scss';
function About() {
const TagCloud = require('TagCloud');
const Tags = [
'JavaScript',
'CSS',
'HTML',
'Vscode',
'XD',
'React',
'Python',
'Linux',
'git',
'Flutter',
'Dart',
'Firebase',
'SASS',
'JSON',
'Figma',
];
TagCloud('.content', Tags, {
radius: 250,
maxSpeed: 'fast',
initSpeed: 'fast',
direction: 135,
keep: true,
});
return (
<div className="About" id="About">
<div className="left">
<div className="heading">
<h1>ABOUT</h1>
</div>
</div>
<div className="right">
<span className=".content">
</span>
</div>
</div>
);
}
export default About;
import React, { useEffect, useRef } from 'react'
import TagCloud from 'TagCloud'
const Tags = [
'JavaScript',
'CSS',
'HTML',
'Vscode',
'XD',
'React',
'Python',
'Linux',
'git',
'Flutter',
'Dart',
'Firebase',
'SASS',
'JSON',
'Figma',
]
function App() {
const IsTagCloudLoaded = useRef(false)
useEffect(() => {
if (IsTagCloudLoaded.current) return
TagCloud('.content', Tags, {
radius: 250,
maxSpeed: 'fast',
initSpeed: 'fast',
direction: 135,
keep: true,
})
IsTagCloudLoaded.current = true
}, [])
return (
<div className='About' id='About'>
<div className='left'>
<div className='heading'>
<h1>ABOUT</h1>
</div>
</div>
<div className='right'>
<div className='content' />
</div>
</div>
)
}
export default App