> For the complete documentation index, see [llms.txt](https://wong-coupon.gitbook.io/flutter/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wong-coupon.gitbook.io/flutter/my-reactjs/state-api.md).

# State & API

State ownership, API caches, RxJS workflows, typed errors, feature flags, ACL, and cross-tab sessions.

State ownership, API caches, RxJS workflows, typed errors, feature flags, ACL, and cross-tab sessions.

## Articles

* [Async Workflows with Redux-Observable](/flutter/my-reactjs/state-api/redux-observable-workflow.md) — Turn concurrency, cancellation, retry, and teardown into bounded typed workflow contracts.
* [Multi-API RTK Query](/flutter/my-reactjs/state-api/rtk-query-multi-api.md) — Organize API slices by transport and cache ownership, with route policies, deterministic injection, and generation-aware recovery.
* [Choosing a React State Owner](/flutter/my-reactjs/state-api/rtk-query-redux-observable-local-state.md) — Choose RTK Query, Redux-Observable, local state, or selectors by lifetime and authority while keeping one owner per fact and generation-correct completion.
* [RxJS Cancellation Boundaries](/flutter/my-reactjs/state-api/rxjs-race-takeuntil-cancellation.md) — Separate observer teardown, transport abort, and business authority with generations, finite cancellation, loser cleanup, and independently owned timeouts.
* [Dependency Injection for Redux-Observable](/flutter/my-reactjs/state-api/redux-observable-epic-dependency-injection.md) — Inject Epic dependencies through a finite catalog, composition root, and generation-aware lifecycle without letting singletons or partial casts hide wiring defects.
* [Normalize Data Before Redux](/flutter/my-reactjs/state-api/normalize-data-before-redux.md) — Decode unknown input into finite entity tables, separate replacement from patches, reject stale revisions, and commit atomically without exposing raw maps or domain identifiers beyond their owner.
* [Coordinating a Realtime Cache](/flutter/my-reactjs/state-api/realtime-cache-invalidation.md) — Keep high-watermarks, patch feedback, and refresh handles under one owner; invalidation marks local state stale while network work begins only through an explicit refetch command.
* [Typed Errors from API to UI](/flutter/my-reactjs/state-api/typed-errors-api-to-ui.md) — Normalize Axios, RTK Query, and Epic failures into a finite taxonomy with status precedence, one presentation route, and telemetry that never receives raw exceptions or backend messages.
* [Safe Feature Flags in React](/flutter/my-reactjs/state-api/feature-flags-remote-config.md) — Move fetch and activation into one coordinator, decode versioned snapshots through a finite catalog, and select LKG or defaults by risk while leaving protected actions to backend authorization.
* [Route Guards and ACL in React](/flutter/my-reactjs/state-api/react-router-route-guard-acl.md) — Authorize before importing, compose parent-child ACL, and keep return-to bounded with revisioned snapshots and one navigation owner.
* [React Sessions Across Tabs](/flutter/my-reactjs/state-api/react-sessions-across-tabs.md) — Keep sessions, ACL, and caches within one lifetime; reject stale 401s and separate local sign-out from server revocation.

[Buy Me a Coffee](https://buymeacoffee.com/ducmng12g) | [Support Me on Ko-fi](https://ko-fi.com/I2I81AEJG8)
