{"library":"redux-async-initial-state","title":"Redux Async Initial State","description":"A Redux middleware for loading initial application state asynchronously from sources like HTTP APIs or React Native's AsyncStorage. Current version 0.3.1, maintained with intermittent updates. Provides `outerReducer`, `innerReducer`, and `middleware` to handle async state loading and loading/error UI state. Differentiates from manual promise handling by offering a structured middleware approach that integrates with Redux's store creation. Compatible with Redux 4.0.0+.","language":"javascript","status":"maintenance","last_verified":"Sat Apr 25","install":{"commands":["npm install redux-async-initial-state"],"cli":null},"imports":["import { outerReducer } from 'redux-async-initial-state'","import { innerReducer } from 'redux-async-initial-state'","import { middleware } from 'redux-async-initial-state'","import { LOADING } from 'redux-async-initial-state'"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import { createStore, applyMiddleware, combineReducers, compose } from 'redux';\nimport { outerReducer, innerReducer, middleware } from 'redux-async-initial-state';\n\nconst reducer = outerReducer(combineReducers({\n  // ... your reducers\n  asyncInitialState: innerReducer,\n}));\n\nconst loadStore = () => {\n  return new Promise(resolve => {\n    fetch('/api/initial-state')\n      .then(response => response.json())\n      .then(resolve);\n  });\n};\n\nconst store = createStore(\n  reducer,\n  compose(applyMiddleware(middleware(loadStore)))\n);","lang":"javascript","description":"Sets up Redux store with async initial state loading via HTTP fetch.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}