Я был не прав по поводу useEffect… документация React тоже?

Поділитися
Вставка
  • Опубліковано 28 лис 2024

КОМЕНТАРІ • 26

  • @ayub_begimkulov
    @ayub_begimkulov  Рік тому +2

    После просмотра данного видео заметил пару недочетов и ошибок:
    На 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 тоже были синхронными, что выглядит очень интересно.

  • @javusscriptus7788
    @javusscriptus7788 Рік тому +2

    Респект за исследование!

  • @YuryGoltsman
    @YuryGoltsman Рік тому +4

    В большинстве случаев поведение не важно, но все же стоит знать, если что пойдет не по сценарию и нужно понять причину. Спасибо.

    • @ayub_begimkulov
      @ayub_begimkulov  Рік тому +1

      Да, все так и есть. Но после того, как уже наткнулся на кейс, интересно разобраться.

    • @YuryGoltsman
      @YuryGoltsman Рік тому

      @@ayub_begimkulov интересно, а последовательность эффектов сохраняется? Особенно, если часть может быть исполнена асинхронно а последующие синхронно

    • @ayub_begimkulov
      @ayub_begimkulov  Рік тому

      ​@@YuryGoltsman последовательность обязательно сохраняется. и в целом не может быть такого, что один эффект асинхронный, а другие синхронные.
      Иначе бы поведение вообще не предсказуемое было бы во многих кейсах))

    • @YuryGoltsman
      @YuryGoltsman Рік тому

      @@ayub_begimkulov я тоже так подумал. Они, кажется, заявляли это условие на заре хуков

  • @mercury_2379
    @mercury_2379 Рік тому +2

    комментарий в поддержку канала

  • @jenek051
    @jenek051 Рік тому +1

    Отличное видео🙏🤘спасибо

  • @ИльяПономарев-г4у

    спасибо большое!

  • @a7kerkh
    @a7kerkh Місяць тому

    Получается рендер асинхронный и является макротаской?

  • @WebDev_51
    @WebDev_51 Рік тому +3

    Я не успеваю ничего.... Как Вы успеваете??? 😅

    • @ayub_begimkulov
      @ayub_begimkulov  Рік тому

      Успеваю что?) За ходом мыслей сложно получается уследить?

  • @grenadier4702
    @grenadier4702 Рік тому

    Получается, мы уже больше года пишем с таким повелением, и никто ничего не заметил? Видимо, это вовсе не breaking change был

    • @ayub_begimkulov
      @ayub_begimkulov  Рік тому

      Все, что хоть как-то может повлиять на код - breaking change, и синхронность useEffect точно туда входит. Вопрос скорее в том, на сколько большую часть людей это все аффектит. В данном случае это скорее всего только библиотеки.

  • @РусланПолянский-х7б

    Господи, где у этого видео замедление видео 😅

  • @rusfungame
    @rusfungame Рік тому +3

    Давай видосы не по реакту, реакт сдохнет, js останется

    • @artifact1702
      @artifact1702 Рік тому +2

      Скорее TS дорастет и станет заменой JS

    • @DikusEx
      @DikusEx Рік тому +2

      Js сдохнет, ассемблер останется

    • @rusfungame
      @rusfungame Рік тому +2

      @@DikusExмы сдохнем, письменность останется

  • @segabelka8095
    @segabelka8095 Рік тому +1

    Спасибо за видео!)