dva (dvajs/dva)
Searching Database…
这是干什么的?
dva 是一个用于构建 React 应用的轻量级前端框架,基于 redux、redux-saga 和 react-router,设计灵感来自 elm 和 choo。
它是在 Redux 之上的框架,还是 Redux 的替代品?
它是对 Redux 的封装,而不是替代:redux-saga 和 react-router 仍然在底层,你只需要学 6 个 API;如果搭配 umi 一起使用,dva 的 API 甚至一个都不用记。
我该怎么上手?
快速入门(Quick Start)部分会指引你到仓库的 docs 目录,里面包含各种指南和 API 参考文档。
用在生产环境靠谱吗?
靠谱——作者称它已可用于生产,阿里巴巴有 1000 多个项目在使用 dva。唯一的硬性限制:不支持 IE8。
和原生 Redux 相比,它是怎么组织应用逻辑的?
它借鉴 Elm 的思路,把每个 model 的 reducers、effects 和 subscriptions 归拢在一起,异步逻辑就写在它所驱动的状态旁边,而不是散落在各个单独的文件里。
开发的时候支持热更新吗?
支持。通过 babel-plugin-dva-hmr 可以对组件、路由和 model 进行热更新(HMR)。
可以用插件扩展它吗?
可以,它有一套插件系统——比如 dva-loading 插件就能自动处理加载状态。
有没有可以学习的示例应用?
有:一个简单的 count 示例、一个用户管理面板、一个 HackerNews 克隆、一个基于 Ant Design 的后台管理示例(antd-admin)、一个 GitHub stars 管理器、一个小型库存系统、开箱即用的企业级 UI 方案 AntDesign Pro,以及一个 react-native 起手模板。
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

