Как React работает внутри?

Поділитися
Вставка
  • Опубліковано 13 січ 2025

КОМЕНТАРІ • 4

  • @sergeykim4368
    @sergeykim4368 7 місяців тому

    Золотое видео, спасибо Алексею за понятную и красивую подачу материала.

  • @localhost666
    @localhost666 7 місяців тому

    Не совсем понятно насчет неэффективной работы напрямую с DOM.
    В примере приводится случай когда нужно удалить элемент. Для этого я просто вызову на этом элементе метод remove(). Реакт сделает это эффективнее?
    Напротив, Реакту нужно будет провести сравнение между старым и новым деревом, хоть и поверхностное, но все же это обход всего виртуального дерева. А затем точно также взаимодействовать с реальным DOM.
    Так где профит с точки зрения эффективности?

    • @АлександрКасатов
      @АлександрКасатов 4 місяці тому

      Через querySelector будет наверняка работать быстрее, но когда у вас большой интерактивный проект, код станет адским для поддержки. Реакт хорош тем, что позволяет абстрагироваться от императивной работы с DOM, используя концепцию состояний, и в то же время не перерендеривать всю страницу на каждый чих. Он точечно применяет изменения, сохраняя баланс между временем на сравнительный обход деревьев и временем на вызовы непосредственно DOM API, как раз благодаря описанному в видео эвристическому алгоритму.

    • @localhost666
      @localhost666 4 місяці тому

      @@АлександрКасатов Спасибо, но это не совсем то о чем я спрашивал.
      Речь идёт о произвольности. Я понимаю, что Реакт сравнивает деревья и самостоятельно решает что нужно обновить в DOM и как это сделать эффективнее.
      Но в конечном моменте React всё равно производит манипуляции с реальным DOM при помощи DOM API, вызывая самые обычные методы по типу remove, append, appenChild и т.д..
      Так вот, можно же сделать те же самые манипуляции самим. Реакт не добавляет производительности, а всего лишь делает взаимодействие с DOM удобнее