Comments (10)
@ChrisFan @yiminghe @nikogu @afc163
from dva.
是否可以理解为 app.use
就是middleware
,有一个问题是:hooks是需要额外封装的,还是直接使用redux的middleware也可以,像这样
import createLogger from 'redux-logger';
const logger = createLogger();
...
app.use(logger);
from dva.
app.use
加载的是 hooks,其中包含 redux 的 middleware 功能 (onStateChange)。
比如一个出错时通过 message 输出信息的插件:
import { message } from 'antd';
function antdErrorPlugin() {
return {
onError: (err) => { message.error(err.message); },
};
}
app.use(antdErrorPlugin());
比如 redux-logger
使用:
import createLogger from 'redux-logger';
const logger = createLogger();
app.use({
onAction: logger,
});
from dva.
onAction 做什么用的?跟 redux-middleware 不是一样的么
from dva.
都走 redux middleware 如何?多出来那几个 onXxx 是否有必要?
from dva.
我觉得考虑插件机制,除了 middleware 之外应该考虑类似 redux-form 这种,有自己的视图跟 reducer 的,怎么样集成更方便。
from dva.
应该可以很方便得使用现有redux 中间件
from dva.
插件机制如果只考虑 redux middleware,感觉对于框架而言会不够用。我把自己想到的每个 hook 的用途在主贴更新了,然后觉得 hooks 之间配合作用应该会发挥更大的作用,比如 fetch 和 saga 的结合,可以做 loading
state 的自动处理。
@ChrisFan 前面说错了,onAction 才是对应 redux 的 middleware 。
@yiminghe Redux 中间件使用感觉已经挺简单了,其他建议?
例子:
import createLogger from 'redux-logger';
app.use({
onAction: createLogger(),
});
支持数组:
app.use({
onAction: [m1, m2],
});
from dva.
@ChrisFan redux-form 的视图是指啥? 不是加一个 reducer 就可以了吗?
from dva.
当我没说,目前能想到的好像就一个 reducer。。
我们这有类似 GlobalMessage 的场景,用户需要 1. 引入 reducer 2. 引入 GlobalMessage 放在根目录下
想想也没必要再封装了,这种类型的应该不多
from dva.
Related Issues (20)
- 该项目还有人维护吗? HOT 8
- dva 和 react-router-dom v6不兼容,依赖了v5版本
- dva 的connect和React.memo函数无法连接,代码如下:cont App=()=>{ return <div></div>} export default connect(null,React.memo(App)),这样写页面直接报错 HOT 3
- state直接存贮dom节点,redux页面会很卡顿 HOT 1
- dva注册model HOT 3
- pre-commit hook failed HOT 1
- dva现在不支持react17+版本吗,后续会有支持吗 HOT 4
- 支持 es最新版 HOT 1
- [Feature Request] dispatch可以传入一个数组吗? HOT 1
- 项目不维护了,把你们的备选状态库都拿出来 HOT 5
- "immer": "^8.0.4",版本过低,扫描有安全问题,能不能升级一下到9.0.6 HOT 15
- `dva-core` CJS build relies on a `regeneratorRuntime` global, but it isn't defined HOT 1
- 现在都没人维护了么,react都更新N个版本了,还是19年更新后,路由都到了v6版本了 HOT 7
- 为什么不使用HashRouter ???
- React已经到了v18,请问dva有没有升级的计划?
- dva subscriptions不生效 HOT 5
- dva 的正式版本才 2.4.1 ,怎么 dva-immer 的 peerDependencies 里的 dva 版本已经是 2.5.0 了? HOT 1
- 如何在reducer执行完后用更新后的state来执行effects HOT 1
- react 18 下,dva 的状态更新可能延迟于dispatch.then HOT 2
- dva正式版本目前是2.4.1 不支持hooks(useSelector和useDispatch) 2.6.0正式版本啥时候发布呀 我看2.6.0 后面的版本支持hooks了
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dva.