dva (dvajs/dva)
Searching Database…
Что это такое?
dva — это лёгкий фронтенд-фреймворк для создания приложений на React, построенный на redux, redux-saga и react-router; на его дизайн повлияли elm и choo.
Это надстройка над Redux или его замена?
Это обёртка над Redux, а не замена: redux-saga и react-router остаются под капотом, учить нужно всего 6 API, а если использовать dva вместе с umi, то и их не понадобится — API-поверхность dva сократится до нуля.
С чего мне начать?
Раздел Quick Start отсылает к каталогу docs в репозитории, где собраны руководства и справочник по API.
Можно ли безопасно использовать в продакшене?
Да — авторы называют его готовым к продакшену: в Alibaba dva используют более 1000 проектов. Единственное жёсткое ограничение: IE8 не поддерживается.
Как он организует логику приложения по сравнению с обычным Redux?
По образцу Elm: каждая модель объединяет свои reducers, effects и subscriptions в одном месте, поэтому асинхронная логика лежит рядом с тем состоянием, которым управляет, а не разбросана по разным файлам.
А hot reloading при разработке поддерживается?
Да. HMR работает для компонентов, маршрутов и моделей благодаря babel-plugin-dva-hmr.
Можно ли расширять его плагинами?
Да, есть система плагинов — например, плагин dva-loading автоматически обрабатывает состояние загрузки.
Есть ли примеры приложений, на которых можно поучиться?
Да: простой демо-счётчик, дашборд управления пользователями, клон HackerNews, админ-дашборд на Ant Design (antd-admin), менеджер звёзд GitHub, небольшая система учёта запасов, AntDesign Pro как готовое корпоративное UI-решение «из коробки» и стартер для 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

