169 похожих чатов

Приветствую, снова теоретический вопрос. Вот пример кода: https://codesandbox.io/s/sweet-phoebe-gj4ycp?file=/PostsTab.js Там заходим и кликаем

на кнопку Post (Slow), а потом сразу на 3 кнопку. В консоли видим, что рендеринг массива остановился, т е мы его прервали, когда нажали на 3 кнопку.
Означает ли, что вычисление для рендеринга react делает в отдельном потоке(иначе как другая кнопка вообще остается доступной)?

4 ответов

16 просмотров

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

olkivan
нет, потоков в жс условно не существует, скорее вс...

похоже это фича React.Fiber: https://www.velotio.com/engineering-blog/react-fiber-algorithm React Fiber divides the update into units of works. It can assign the priority to each unit of work, and has the ability to pause, reuse, or abort the unit of work if not needed. React Fiber divides the work into multiple units of work, which is fiber. It schedules the work in multiple frames and uses the deadline from the requestIdleCallback. Every update has its priority defined like animation, or user input has a higher priority than rendering the list of items from the fetched data.

NIX- Автор вопроса
olkivan
нет, потоков в жс условно не существует, скорее вс...

Да, кстати, хорошая мысль, спасибо)) я что-то не подумал, что массив можно поэлементно обрабатывать, а не нахрапом)

NIX- Автор вопроса
olkivan
нет, потоков в жс условно не существует, скорее вс...

Кстати, получается , что если будет не массив а 1 компонент, но это не сработает? Сейчас проверю!

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта