@Artyom02
Начинающий программист

Как произвести рендер для dom-елементов в react?

Доброго времени суток! Я делаю 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-дереве не происходит ни одного рендера
Возможно есть другие варианты рендера, если да, то предложите, пожалуйста.
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ответы на вопрос 1
Документацию прочитайте, вы похоже ее не открывали. Сначала читаем, желательно полностью, потом пишем, само оно никак не получится.
https://reactjs.org/docs/getting-started.html
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы