Size: a a a

React: русскоязычное сообщество

2021 February 20

PD

Petya Danchuk in React: русскоязычное сообщество
Вы когда на хуки переходили с какими сложностями столкнулись?
источник

ДБ

Дмитрий Бондаренко... in React: русскоязычное сообщество
Petya Danchuk
Вы когда на хуки переходили с какими сложностями столкнулись?
Да пока вроде ни с какими)
источник

YM

Yura Menschikov in React: русскоязычное сообщество
Petya Danchuk
Вы когда на хуки переходили с какими сложностями столкнулись?
поначалу бывало сложно какие-либо анимации с компонент на хуки переводить, но в целом со временем это осваивается
источник

I

ILLEGAL in React: русскоязычное сообщество
Приветик

Подскажите пожалуйста, как исправлять эту проблему в плане производительности:

{array.map((item, index) => (
  <Jopa
      prop="42"
      callback={onChange}
      onClick={handleClick(index)}
  />
)}


как видно из кода, функция handleClick принимает индекс элемента и возвращает новую функцию. Проблема в том, что при рендеринге в onClick попадает всегда разная функция, соответственно все компоненты Jopa перерисовываются. Это создает проблемы если их очень много или они довольно тяжелые
источник

I

ILLEGAL in React: русскоязычное сообщество
щас набросаю примерчик для наглядности
источник

PD

Petya Danchuk in React: русскоязычное сообщество
а в реакте когда произносят слово "рендер" имеют ввиду что элемент вставляется в DOM?
источник

I

ILLEGAL in React: русскоязычное сообщество
Petya Danchuk
а в реакте когда произносят слово "рендер" имеют ввиду что элемент вставляется в DOM?
вставляется, удаляется, не важно, просто что-то случается)
источник

I

ILLEGAL in React: русскоязычное сообщество
обновляется, да
источник

I

ILLEGAL in React: русскоязычное сообщество
Petya Danchuk
а в реакте когда произносят слово "рендер" имеют ввиду что элемент вставляется в DOM?
а какое более уместное слово? маунт?
источник

PD

Petya Danchuk in React: русскоязычное сообщество
ILLEGAL
обновляется, да
когда компонент фунец-й то в уроках тоже говорят рендер когда компонент вызывается
источник

PD

Petya Danchuk in React: русскоязычное сообщество
ILLEGAL
а какое более уместное слово? маунт?
я просто хочу понять что имеют ввиду, а то что-то подозрение что не всегда одно и тоже
источник

I

ILLEGAL in React: русскоязычное сообщество
Petya Danchuk
я просто хочу понять что имеют ввиду, а то что-то подозрение что не всегда одно и тоже
источник

I

ILLEGAL in React: русскоязычное сообщество
проблема в том что при клике на одну жопу, обновляются и все остальные. Поведение логичное, но как этого красиво избежать?
источник

PD

Petya Danchuk in React: русскоязычное сообщество
Не подскажете, почему выводится сonsole.log внутри setState, ведь дальше идёт бесконечный цикл? Имею ввиду, почему вызов setState не должен идти после того, как цикл выполнится. Ведь setState же асинхронный
источник

VS

Vitalii Stroinov in React: русскоязычное сообщество
ILLEGAL
проблема в том что при клике на одну жопу, обновляются и все остальные. Поведение логичное, но как этого красиво избежать?
поделись, что это за сервис на скриншоте? или это расширение какое-то?
источник

☬ Sᴀʏᴅᴜʟʟᴏ ツ... in React: русскоязычное сообщество
ILLEGAL
проблема в том что при клике на одну жопу, обновляются и все остальные. Поведение логичное, но как этого красиво избежать?
Это может быть из-за того, что, после клика, key меняется сразу у всех элементов.
Если значение key будет прежним (таким же, как и до клика), то он не будет обновляться.
источник

☬ Sᴀʏᴅᴜʟʟᴏ ツ... in React: русскоязычное сообщество
☬ Sᴀʏᴅᴜʟʟᴏ ツ
Это может быть из-за того, что, после клика, key меняется сразу у всех элементов.
Если значение key будет прежним (таким же, как и до клика), то он не будет обновляться.
Вообще, в консоли должно быть предупреждение.

(Только если, jopa - это отдельный компонент, который ты показываешь на странице циклом).
источник

☬ Sᴀʏᴅᴜʟʟᴏ ツ... in React: русскоязычное сообщество
ILLEGAL
Приветик

Подскажите пожалуйста, как исправлять эту проблему в плане производительности:

{array.map((item, index) => (
  <Jopa
      prop="42"
      callback={onChange}
      onClick={handleClick(index)}
  />
)}


как видно из кода, функция handleClick принимает индекс элемента и возвращает новую функцию. Проблема в том, что при рендеринге в onClick попадает всегда разная функция, соответственно все компоненты Jopa перерисовываются. Это создает проблемы если их очень много или они довольно тяжелые
{array.map((item, index) => (
  <Jopa
      key={item.id}
      prop="42"
      callback={onChange}
      onClick={handleClick(index)}
  />
)}
источник

I

ILLEGAL in React: русскоязычное сообщество
☬ Sᴀʏᴅᴜʟʟᴏ ツ
{array.map((item, index) => (
  <Jopa
      key={item.id}
      prop="42"
      callback={onChange}
      onClick={handleClick(index)}
  />
)}
что с key что без, одно и то же
источник

I

ILLEGAL in React: русскоязычное сообщество
Vitalii Stroinov
поделись, что это за сервис на скриншоте? или это расширение какое-то?
это react dev tools
источник