Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Чем отличается StateFlow от SharedFlow?
StateFlow хранит текущее состояние и отправляет его новым подписчикам. Он всегда имеет значение и подходит для управления UI-состоянием. SharedFlow не хранит состояние и просто транслирует события, без обязательного начального значения. Он подходит для одноразовых событий, например, уведомлений или действий.
Может ли StateFlow иметь ноль подписчиков? Что происходит в таком случае?
Да, StateFlow может существовать без подписчиков. В этом случае он продолжает хранить последнее значение, но не выполняет никаких вычислений или эмиссий, пока не появится новый подписчик.
Чем SharedFlow отличается от StateFlow с точки зрения поведения и буферизации?
StateFlow хранит только последнее значение и гарантирует его получение новыми подписчиками. SharedFlow может буферизировать несколько значений и не имеет обязательного начального состояния.
Как StateFlow ведёт себя при наличии нескольких подписчиков?
Все подписчики получают одно и то же последнее значение при старте и обновлениях. StateFlow гарантирует консистентность данных для всех наблюдателей.
Какие особенности стоит учитывать при написании юнит-тестов для StateFlow или SharedFlow?
Используйте runTest для контроля времени, проверяйте начальные значения и обновления. Для SharedFlow учитывайте буферизацию и отсутствие начального значения.
StateFlow vs SharedFlow
Рейтинг:
3
Сложность:
6
StateFlow хранит последнее значение и всегда возвращает его новым подписчикам. Он похож на "живое состояние". SharedFlow не хранит состояние по умолчанию, а работает как "событийный поток", где данные могут быть потеряны, если никто не слушает. В целом: StateFlow используют для состояния экрана, SharedFlow — для одноразовых событий.
Рейтинг:
4
Сложность:
6
Рейтинг:
1
Сложность:
7
Рейтинг:
1
Сложность:
7
Рейтинг:
2
Сложность:
7
Рейтинг:
1
Сложность:
7