Доброго времени суток! Я делаю pet-проект, погода. Мне захотелось сделать так, чтобы при изменении погоды, задний фон соответствовал погоде. Допустим во время дождя, на фоне капают капли и т.п.
В коде я рендерю позиции капли, затем присваиваю их к элементу.
let array = []
const Home = (props) => {
const weatherParts = 500
const { activeWeatherForecast } = useSelector(state => state.currentWeekday)
React.useEffect(() => {
for (let i = 0; i < weatherParts; i++) {
array.push([renderPositionY(), renderPositionX()])
}
}, [activeWeatherForecast])
const renderPositionX = () => {
return Math.floor(Math.random() * document.body.clientWidth)
}
const renderPositionY = () => {
return Math.floor(Math.random() * document.body.clientHeight)
}
...
{array.length > 0 && array.map(elem => {
return <div className={s.weatherParts} style={{ top: `${elem[0]}px`, left: `${elem[1]}px` }}></div>
})}
}
Проблема в том, что элемент не отображается. В DOM-дереве не происходит ни одного рендера
Возможно есть другие варианты рендера, если да, то предложите, пожалуйста.