我有一个 React 组件,我想仅在该组件内部渲染粒子。我不想使用粒子作为整个页面的背景,但仅在该组件(div 元素)内使用,如dogecoin.com上所示。然而我在做这件事时遇到了严重的麻烦。我使用的代码如下:
const Block = () => {
const particlesContainer= useRef(null);
return (
<MiddleBlockSection>
<Particles container= {particlesContainer} options={particlesOptions as ISourceOptions}/>
<ParticlesContainer ref={particlesContainer} id="particles-js"></ParticlesContainer>
<Slide direction="up" duration={500}>
<Row justify="center" align="middle">
<ContentWrapper>
<Col lg={24} md={24} sm={24} xs={24}>
<h6>{t(title)}</h6>
</Col>
</ContentWrapper>
</Row>
</Slide>
</MiddleBlockSection>
);}
Run Code Online (Sandbox Code Playgroud)
所以我所做的基本上是为容器创建一个引用,并尝试将其用作 keywords.js 的引用。
发生这种情况的部分代码:
<Particles container= {particlesContainer}
Run Code Online (Sandbox Code Playgroud)
我还尝试将组件放入其中,伪代码如下:
<ParticlesContainer> <Particles/> </ParticlesContainer>
Run Code Online (Sandbox Code Playgroud)
但这也行不通。粒子仍然在整个页面的背景上渲染,我希望它仅在容器组件内部渲染。
我使用的 npm 包是react-tsarticles。