<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/how-to-safely-update-state-in-your-kotlin-apps-spo1hzrw4" -->

---
title: How to safely update state in your Kotlin apps | daily.dev
description: This article explores the problems with state management in reactive apps and proposes a new approach using state transactions. It discusses the concept of...
canonical: https://daily.dev/posts/how-to-safely-update-state-in-your-kotlin-apps-spo1hzrw4
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: How to safely update state in your Kotlin apps | daily.dev
og:description: This article explores the problems with state management in reactive apps and proposes a new approach using state transactions. It discusses the concept of...
og:url: https://daily.dev/posts/how-to-safely-update-state-in-your-kotlin-apps-spo1hzrw4
og:image: https://api.daily.dev/og/posts/sPO1hZrW4.png
og:image:alt: How to safely update state in your Kotlin apps
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# How to safely update state in your Kotlin apps

**[Medium](https://daily.dev/sources/medium_js)** · 12 min read · 2 upvotes · 0 comments

## Summary

This article explores the problems with state management in reactive apps and proposes a new approach using state transactions. It discusses the concept of persistent and transient states, the benefits and drawbacks of unifying states in MVI and MVVM, and how to make state updates parallel and serializable. It also mentions a ready-made solution called FlowMVI for implementing this approach.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://proandroiddev.com/how-to-safely-update-state-in-your-kotlin-apps-bf51ccebe2ef>

---

Tags: [#general-programming](https://daily.dev/tags/general-programming), [#kotlin](https://daily.dev/tags/kotlin), [#reactive-programming](https://daily.dev/tags/reactive-programming)

[View this post on daily.dev](https://daily.dev/posts/how-to-safely-update-state-in-your-kotlin-apps-spo1hzrw4)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"How to safely update state in your Kotlin apps","url":"https://daily.dev/posts/how-to-safely-update-state-in-your-kotlin-apps-spo1hzrw4","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/how-to-safely-update-state-in-your-kotlin-apps-spo1hzrw4"},"datePublished":"2024-04-01T04:49:56.869Z","dateModified":"2024-05-09T08:39:06.345Z","description":"This article explores the problems with state management in reactive apps and proposes a new approach using state transactions. It discusses the concept of...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/2a0abbe35d7c78b19f37a7a1355cc726?_a=AQAEufR","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/2a0abbe35d7c78b19f37a7a1355cc726?_a=AQAEufR","isAccessibleForFree":true,"articleSection":"Medium","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Medium","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium","url":"https://daily.dev/sources/medium_js"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/how-to-safely-update-state-in-your-kotlin-apps-spo1hzrw4","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"general-programming,kotlin,reactive-programming","timeRequired":"PT12M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Medium","item":"https://daily.dev/sources/medium_js"},{"@type":"ListItem","position":3,"name":"How to safely update state in your Kotlin apps"}]}
```

