particles.js 没有出现在 reactjs 项目中

IT技术 reactjs frontend particles.js
2021-05-20 21:16:50

我最近了解了 Particle.js 并想在我的 Reactjs 应用程序中使用它。

我使用下面提到的命令安装了它:-

npm install react-particles-js

并且安装成功。我在 node-modules 文件夹中检查了它,发现它已正确安装。

现在,来了 App.js

import React from 'react';
import Navigation from './components/Navigation'
import {BrowserRouter as Router,Route} from 'react-router-dom'
import * as ROUTES from './constants/routes'
import Landing from './components/Landing'
import Home from './components/Home'
import SignIn from './components/SignIn'
import SignUp from './components/SignUp'
import PasswordForget from './components/PasswordForget';
import Particles from 'react-particles-js';
function App() {
  return (
    <div className="App">
      <Router>
        <Particles></Particles>
         <Navigation />
         <Route exact path={ROUTES.HOME} component={Home} />
         <Route path={ROUTES.SIGN_IN} component={SignIn} />
         <Route path={ROUTES.SIGN_UP} component={SignUp} />
         <Route path={ROUTES.LANDING} component={Landing} />
         <Route path={ROUTES.PASSWORD_FORGET} component={PasswordForget} />
      </Router>
    </div>
  );
}

export default App;

这是输出的样子

另外,我希望 Particles-js 像一个合适的背景一样工作。因此,它也包含在登录、注册和主页组件中。

请帮我。我尝试在里面添加参数,它仍然不起作用。

1个回答

我的猜测是你的页面是白色的,粒子系统默认也是白色的。我在 codeandbox 中对此进行了测试,果然在我更改它们所在容器的背景颜色之前它们是不可见的。您可以将配置props传递给组件。这是一个简单的演示,其中粒子和链接改为黑色。

<Particles
  params={{
    particles: {
      color: {
        value: "#000000"
      },
      line_linked: {
        color: {
          value: "#000000"
        }
      },
      number: {
        value: 50
      },
      size: {
        value: 3
      }
    }
  }}
/>

编辑 react-particles-js

README 有一个链接到一个不错的配置页面,允许您将当前配置导出为 JSON 文件。非常便利!

编辑要制作页面背景,添加一些绝对定位并设置一些高度和宽度(更新沙箱上方!):

<Particles
  style={{ position: "absolute" }}
  height="95%"
  width="95%"
  params={{
    particles: {
      color: {
        value: "#000000"
      },
      line_linked: {
        color: {
          value: "#000000"
        }
      },
      number: {
        value: 50
      },
      size: {
        value: 3
      }
    }
  }}
/>