https://github.com/Kotlin-Android-Open-Source/MVI-Coroutines-Flow Я видел проект на Git, В MainVM filterInstace является слиянием и используется вместо if следующим образом. [code]private fun SharedFlow.toPartialStateChangeFlow(): Flow = merge( // users change merge( filterIsInstance(), filterIsInstance() .filter { viewState.value.error != null }, ).toUserChangeFlow(), // refresh change filterIsInstance() .toRefreshChangeFlow(), // remove user change filterIsInstance() .toRemoveUserChangeFlow(), ) [/code] [code] private fun SharedFlow.toPartialStateChangeFlow(): Flow = flatMapLatest { intent -> when (intent) { is ViewIntent.Initial || (ViewIntent.Retry && filter { viewState.value.error != null }) -> toUserChangeFlow() is ViewIntent.Refresh -> toRefreshChangeFlow() is ViewIntent.RemoveUser -> toRemoveUserChangeFlow() else -> Unit } } [/code] Могу ли я узнать, почему они использовали filterIsInstance, а не когда? Я не знаю достоинств такого выражения.
Я создаю экран, на котором отображается список элементов. Этот список элементов поступает из Интернета в виде ответа с разбивкой на страницы, поэтому я пытаюсь использовать PagingData и Pager для этого, но просто не могу найти правильный способ...
У меня возникла проблема с созданием NavigationDrawer, в котором есть все экраны приложения (кроме вложенных экранов, которые открываются на других экранах). Например: «Домой», «Подробности», «Контакты», «TodoList», «О программе» и т. д. Как мне...
У меня возникла проблема с созданием NavigationDrawer, в котором есть все экраны приложения (кроме вложенных экранов, которые открываются на других экранах). Например: «Домой», «Подробности», «Контакты», «TodoList», «О программе» и т. д. Как мне...
Я изучаю MVI, и у меня есть вопрос о перестройке пользовательского интерфейса при изменении состояния. Поскольку у MVI будет только одно состояние, всякий раз, когда я добавляю новое значение, состояние будет меняться. Итак, если в моем штате,...
Я изучаю MVI, и у меня есть вопрос о перестройке пользовательского интерфейса при изменении состояния. Поскольку MVI будет иметь только 1 состояние, всякий раз, когда я добавляю новое значение, состояние будет меняться.
Итак, если в моем состоянии,...