Инновации. Наука. Образование
Прокофьев Андрей Павлович
Магистрант
Санкт-Петербургский государственный экономический университет
FIBER – НОВЫЙ АЛГОРИТМ СРАВНЕНИЯ REACT
Аннотация: В этой статье описывается React Fiber — основной алгоритм сравнения
фронтенд библиотеки React. React Fiber — это новый алгоритм согласования в React 16,
который пришел на смену старому алгоритму согласования (также известный как Stack
Reconciler), поскольку он использует стек (структура данных) внутри.
Ключевые слова
:
React Fiber, React, алгоритмы, веб-разработка, фронтенд.
Keywords:
React Fiber, React, algorithms, web-development, frontend.
React Fiber - это абсолютно новая версия согласователя [1] (reconciler) деревьев,
обратно-совместимая с предыдущими версиями библиотеки. Название происходит от
слова «волокно», которое используется для представления узла дерева DOM.
Основной мотивацией создания собственного алгоритма сравнения является тот
факт, что современные алгоритмы сравнения деревьев имеют в лучшем случае сложность
О(n
3
). Это означает, что для отрисовки дерева компонентов из 1 000 элементов
потребуется провести в лучшем случае 1 000 000 000 операций. Выполнение такого
большого количества операций однозначно заблокирует браузер пользователя и испортит
впечатление от веб-ресурса. Для сокращения сложности сравнения, разработчики
библиотеки React применили в своей библиотеки эвристический алгоритм
1
, основанный
на двух заключениях:
1.
Два элемента разного типа произведут различные деревья;
2.
Разработчик может явно указать какой дочерний элемент является
стабильным между разными рендерингами
2
с помощью свойства key.
1
Эвристический алгоритм – это алгоритм решения задачи, который не является
гарантированно оптимальным, но достаточный для решения поставленной задачи.
2
Рендеринг – процесс получения изображения по определенной модели в компьютерной
графике.
844
Научный журнал «Инновации. Наука. Образование»
Индексация в РИНЦ
н
Достарыңызбен бөлісу: |