Size: a a a

React — русскоговорящее сообщество

2020 November 27

S

Stanislav in React — русскоговорящее сообщество
Danila
Понятнее не становится :D
как по мне это означает что ререндера не происходит, но почему вызывается console.log лишний раз...
источник

D

Danila in React — русскоговорящее сообщество
Stanislav
как по мне это означает что ререндера не происходит, но почему вызывается console.log лишний раз...
Вызов консоль лога и означает вызов перерендера. Под перерендером я понимаю "выполнение компонента"
источник

D

Danila in React — русскоговорящее сообщество
То что в ДОМ не обновляется при этом ничего - это понятно, надеюсь, что так и есть
источник

D

Danila in React — русскоговорящее сообщество
А то кто его теперь знает
источник

R

Rros in React — русскоговорящее сообщество
источник

R

Rros in React — русскоговорящее сообщество
Всем привет.
Извиняюсь, что немного не по теме, но не знаю, как решить проблему.
В вебШторме в одном проекте в одном файле синтаксис подсвечивается, а в другом файле - нет.
источник

S

Stanislav in React — русскоговорящее сообщество
когда вы в первый раз вызвали у вас console.log сработал правильно, а во второй раз он сработал до того как стало понятно что стейт тот же, голова кипит. это мои мысли.
источник

АБ

Александр Бакиматов... in React — русскоговорящее сообщество
Rros
Всем привет.
Извиняюсь, что немного не по теме, но не знаю, как решить проблему.
В вебШторме в одном проекте в одном файле синтаксис подсвечивается, а в другом файле - нет.
источник

S

Stanislav in React — русскоговорящее сообщество
Rros
Всем привет.
Извиняюсь, что немного не по теме, но не знаю, как решить проблему.
В вебШторме в одном проекте в одном файле синтаксис подсвечивается, а в другом файле - нет.
источник

D

Danila in React — русскоговорящее сообщество
Stanislav
когда вы в первый раз вызвали у вас console.log сработал правильно, а во второй раз он сработал до того как стало понятно что стейт тот же, голова кипит. это мои мысли.
Компонент - это просто функция. Если он выполнился - он выполнился, а если нет - то нет, тут ничего "между" вроде быть не может.

Поэтому если есть вывод коноль лога, то react-dom решил, что нужно перерендерить. Вопрос - с чего он так решил.
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Danila
Вызов консоль лога и означает вызов перерендера. Под перерендером я понимаю "выполнение компонента"
Я предположу почему так происходит
1 вызов - инит рендер
2 вызов - сравниваем 0 с 12 - обновляем
3 вызов - сравниваем 0 с 12 - так как в обновление стейта ассинхронно
4 вызов - сравниваем 12 с 12 - который попал после 2 вызова
источник

D

Danila in React — русскоговорящее сообщество
Dmitriy Shuleshov
Я предположу почему так происходит
1 вызов - инит рендер
2 вызов - сравниваем 0 с 12 - обновляем
3 вызов - сравниваем 0 с 12 - так как в обновление стейта ассинхронно
4 вызов - сравниваем 12 с 12 - который попал после 2 вызова
Ничего не понял. В моём понимании, когда я делаю setState - система хуков

1) Знает, какой компонент зацеплен за этот стейт
2) Знает предыдущее значение
3) Если старое не равно новому - делает рендер компонента (синхронно или нет не так уже важно)
источник

D

Danila in React — русскоговорящее сообщество
4) Тот компонент делает useState, но лишь цепляется за тот же стейт. В нём уже новое значние (которое и выводится)
источник

DM

Daniel Mednikov in React — русскоговорящее сообщество
Danila
Ничего не понял. В моём понимании, когда я делаю setState - система хуков

1) Знает, какой компонент зацеплен за этот стейт
2) Знает предыдущее значение
3) Если старое не равно новому - делает рендер компонента (синхронно или нет не так уже важно)
3) Оно не делает ререндер компонента, а отмечает его как dirty, и говорит движку, что надо его перерендерить, что и вызывает подобной прикол, наверное. Поэтому, синхронно или нет-важно
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Danila
Ничего не понял. В моём понимании, когда я делаю setState - система хуков

1) Знает, какой компонент зацеплен за этот стейт
2) Знает предыдущее значение
3) Если старое не равно новому - делает рендер компонента (синхронно или нет не так уже важно)
Смысл в том что у нас нет доступа к предидущему значению стейта с которым работает реакт, и вот я подозреваю что туда значение попадает ассинхронно
источник

D

Danila in React — русскоговорящее сообщество
Daniel Mednikov
3) Оно не делает ререндер компонента, а отмечает его как dirty, и говорит движку, что надо его перерендерить, что и вызывает подобной прикол, наверное. Поэтому, синхронно или нет-важно
Ну хорошо, помечен как дёрти. Но если он уже перерендерился, почему в этот момент стейт не знает своего значения и при очередном setState не может их сравнить?
источник

D

Danila in React — русскоговорящее сообщество
Если сам компонент вывел 12, то новый стейт уже известен, Иначе откуда он его вывел
источник

DM

Daniel Mednikov in React — русскоговорящее сообщество
Danila
Ну хорошо, помечен как дёрти. Но если он уже перерендерился, почему в этот момент стейт не знает своего значения и при очередном setState не может их сравнить?
Не знаю 🤷‍♀
источник

D

Danila in React — русскоговорящее сообщество
Daniel Mednikov
Не знаю 🤷‍♀
Вот и я не понял. У нас Абрамова нет в чате? )
источник

IL

Ihor Levchenko in React — русскоговорящее сообщество
Любимый UI Kit
Анонимный опрос
34%
Material UI
12%
AntD
1%
Blueprint JS
0%
Fluent UI
11%
Bootstrap
0%
Elastic UI
4%
Semantic UI
5%
Chakra
5%
Другой (напишу в комментах)
29%
Я сам все верстаю
Проголосовало: 85
источник