Это мой код в Particle.js
import React from "react";
import Particles from "react-tsparticles";
function Particle() {
return (
<Particles
id = "tsparticles"
params = {{
particles: {
number: {
value: 160,
density: {
enable: true,
value_area: 1500,
},
},
line_linked: {
enable: false,
opacity: 0.03,
},
move: {
direction: "right",
speed: 0.05,
},
size: {
value: 1,
},
opacity: {
anim: {
enable: true,
speed: 1,
opacity_min: 0.05,
},
},
},
interactivity: {
events: {
onclick: {
enable: true,
mode: "push",
},
},
modes: {
push: {
particles_nb: 1,
},
},
},
retina_detect: true,
}}
/>
);
}
export default Particle;
и я вызываю частицу в Home.js
import Particle from "../Particle";
import Button from 'react-bootstrap/Button';
function Home() {
return (
<div className = "mt-5">
<Particle/>
<Button href = "" target = "_blank" className = "register-btn-inner" size = "lg">
Register
</Button>
</div>
);
}
export default Home;
Я проверил много одинаковых вопросов, таких как Particle.js, не отображающийся в проекте reactjs и Particle.js, не отображающий частицы на веб-сайте ReactJS но решения мне совсем не помогают. Я много искал, но не понимаю своей ошибки. почему Particle не работает? Я также установил библиотеки tsparticles и react-tsparticles.
Вы видели какие-либо ошибки в консоли? Если да, прикрепите их к вопросу



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вам не хватает атрибута init в компоненте Particles. Это видно и в документации здесь
Это пример документации:
import { useCallback } from "react";
import Particles from "react-particles";
import { loadFull } from "tsparticles";
const App = () => {
const particlesInit = useCallback(async engine => {
console.info(engine);
// you can initiate the tsParticles instance (engine) here, adding custom shapes or presets
// this loads the tsparticles package bundle, it's the easiest method for getting everything ready
// starting from v2 you can add only the features you need reducing the bundle size
await loadFull(engine);
}, []);
const particlesLoaded = useCallback(async container => {
await console.info(container);
}, []);
return (
<Particles
id = "tsparticles"
init = {particlesInit}
loaded = {particlesLoaded}
options = {{
background: {
color: {
value: "#0d47a1",
},
},
fpsLimit: 120,
interactivity: {
events: {
onClick: {
enable: true,
mode: "push",
},
onHover: {
enable: true,
mode: "repulse",
},
resize: true,
},
modes: {
push: {
quantity: 4,
},
repulse: {
distance: 200,
duration: 0.4,
},
},
},
particles: {
color: {
value: "#ffffff",
},
links: {
color: "#ffffff",
distance: 150,
enable: true,
opacity: 0.5,
width: 1,
},
collisions: {
enable: true,
},
move: {
directions: "none",
enable: true,
outModes: {
default: "bounce",
},
random: false,
speed: 6,
straight: false,
},
number: {
density: {
enable: true,
area: 800,
},
value: 80,
},
opacity: {
value: 0.5,
},
shape: {
type: "circle",
},
size: {
value: { min: 1, max: 5 },
},
},
detectRetina: true,
}}
/>
);
};
Можете ли вы отредактировать пост, включив в него более полный минимальный воспроизводимый пример , достаточный для того, чтобы мы могли воспроизвести какие-либо проблемы? Не могли бы вы также создать работающую демонстрацию codeandbox, которая воспроизводит проблему, чтобы мы могли проверить ее вживую? Также уточните, пожалуйста, подробнее, что именно означает «частицы не появляются». Есть ли ошибки? Вы проверили DOM, чтобы увидеть, что отображается? Установленные версии пакетов? И т.п.