What is this?
dva is a lightweight front-end framework for building React applications, built on redux, redux-saga and react-router, with its design inspired by elm and choo.
Is it a framework on top of Redux, or a replacement for it?
It wraps Redux rather than replacing it: redux-saga and react-router stay underneath, you only learn 6 APIs, and if you use it together with umi the dva API surface drops to 0.
How do I get started with it?
The Quick Start section points you to the docs directory in the repo, which contains the guides and API references.
Is it safe to use in production?
Yes — the authors call it production ready, with 1000+ projects using dva at Alibaba. One hard limit: IE8 is not supported.
How does it organize app logic compared to plain Redux?
Following Elm concepts, each model groups its reducers, effects and subscriptions together, so async logic lives right next to the state it drives instead of being scattered across separate files.
Does it support hot reloading while I develop?
Yes. HMR is supported for components, routes and models via babel-plugin-dva-hmr.
Can I extend it with plugins?
Yes, there is a plugin system — for example, the dva-loading plugin handles loading state automatically.
Are there example apps I can learn from?
Yes: a simple count demo, a user management dashboard, a HackerNews clone, an admin dashboard built on Ant Design (antd-admin), a GitHub stars manager, a small inventory system, AntDesign Pro as an out-of-box enterprise UI solution, and a react-native starter.
What are similar projects?
single-spa, todomvc, redux-toolkit, ui-router, svelte, alpine, ember.js, mithril.js
Which topics is it in?
redux-saga, javascript-framework, front-end, router, redux, frontend-framework, state-management, web-framework, plugin-system, beginner-friendly, framework, react

