После просмотра данного видео заметил пару недочетов и ошибок: На 17:32 - “Макротаски before/after effect”, а не “микротаски”. На 19:09 - “Синхронным”, вместо “асинхронным”. Также в конце видео я забыл показать, как будет работать обновление внутри useEffect. *Mount:* render before effect microtask after effect microtask before effect macrotask after effect macrotask trigger update effect effect render effect before update microtask after update microtask before effect microtask after effect microtask before update macrotask after update macrotask before effect macrotask after effect macrotask *Update:* render before effect microtask after effect microtask before effect macrotask after effect macrotask trigger update effect render effect before update microtask after update microtask before effect microtask after effect microtask before update macrotask after update macrotask before effect macrotask after effect macrotask Как можно увидеть по логам вложенные обновления внутри useEffect тоже были синхронными, что выглядит очень интересно.
@@YuryGoltsman последовательность обязательно сохраняется. и в целом не может быть такого, что один эффект асинхронный, а другие синхронные. Иначе бы поведение вообще не предсказуемое было бы во многих кейсах))
Все, что хоть как-то может повлиять на код - breaking change, и синхронность useEffect точно туда входит. Вопрос скорее в том, на сколько большую часть людей это все аффектит. В данном случае это скорее всего только библиотеки.
После просмотра данного видео заметил пару недочетов и ошибок:
На 17:32 - “Макротаски before/after effect”, а не “микротаски”.
На 19:09 - “Синхронным”, вместо “асинхронным”.
Также в конце видео я забыл показать, как будет работать обновление внутри useEffect.
*Mount:*
render
before effect microtask
after effect microtask
before effect macrotask
after effect macrotask
trigger update effect
effect
render
effect
before update microtask
after update microtask
before effect microtask
after effect microtask
before update macrotask
after update macrotask
before effect macrotask
after effect macrotask
*Update:*
render
before effect microtask
after effect microtask
before effect macrotask
after effect macrotask
trigger update effect
render
effect
before update microtask
after update microtask
before effect microtask
after effect microtask
before update macrotask
after update macrotask
before effect macrotask
after effect macrotask
Как можно увидеть по логам вложенные обновления внутри useEffect тоже были синхронными, что выглядит очень интересно.
Респект за исследование!
Спасибо!
В большинстве случаев поведение не важно, но все же стоит знать, если что пойдет не по сценарию и нужно понять причину. Спасибо.
Да, все так и есть. Но после того, как уже наткнулся на кейс, интересно разобраться.
@@ayub_begimkulov интересно, а последовательность эффектов сохраняется? Особенно, если часть может быть исполнена асинхронно а последующие синхронно
@@YuryGoltsman последовательность обязательно сохраняется. и в целом не может быть такого, что один эффект асинхронный, а другие синхронные.
Иначе бы поведение вообще не предсказуемое было бы во многих кейсах))
@@ayub_begimkulov я тоже так подумал. Они, кажется, заявляли это условие на заре хуков
комментарий в поддержку канала
Спасибо!
Отличное видео🙏🤘спасибо
Не за что!
спасибо большое!
Рад помочь!
Получается рендер асинхронный и является макротаской?
Я не успеваю ничего.... Как Вы успеваете??? 😅
Успеваю что?) За ходом мыслей сложно получается уследить?
Получается, мы уже больше года пишем с таким повелением, и никто ничего не заметил? Видимо, это вовсе не breaking change был
Все, что хоть как-то может повлиять на код - breaking change, и синхронность useEffect точно туда входит. Вопрос скорее в том, на сколько большую часть людей это все аффектит. В данном случае это скорее всего только библиотеки.
Господи, где у этого видео замедление видео 😅
Давай видосы не по реакту, реакт сдохнет, js останется
Скорее TS дорастет и станет заменой JS
Js сдохнет, ассемблер останется
@@DikusExмы сдохнем, письменность останется
Спасибо за видео!)
не за что!