我来自一个Angular2世界,其中有服务可以执行正常的数据加载等,现在我在React,Redux应用程序中,并试图找出与Angular2服务等效的内容在Redux(React)中。它变回红色吗?Redux等效于Angular2服务
1
A
回答
3
答案是是和否。
是
角服务必须加载数据,通常返回获取与加载的数据解决的
Promise
对象的逻辑。借助Redux Thunk中间件,您可以创建异步操作创建器,并将数据加载逻辑放在此处。但不是直接返回一个对象,而是等待数据解析并分派一个动作来更新加载数据的状态。 React组件通过道具从Redux商店接收数据。 (参见从
react-redux
connect()
方法。)
否
- 角服务是用于促进与远程的HTTP服务器的通信提供特定的功能,如
$http
单身。 - Redux Thunk是一个中间件,除了允许您编写异步操作创建器(可以延迟操作的分派)或仅在满足特定条件时才分派时,它什么也不做。动作创建者是创建动作的函数 - 它们不打算提供其他功能,例如与后端服务器的通信。
就这么说,它通常是编码风格的地方,你怎么写逻辑来加载数据。
您可以使用Fetch API
或其polyfill函数或axios
库,两者都是基于Promise
的。你也可以考虑使用Observables
,但我认为它超出了主题。
当您使用Angular服务时,您可以将所有相关逻辑放在一个位置并导出它们。在你的动作创建者中,你可以调用这些包装器/帮助器,监听解析/拒绝,并派遣一个适当的动作,并将数据解析为有效载荷。
您的缩减器在接收到分派的操作后会更新Redux存储,并将这些状态更改传播到React组件。这是Flux体系结构如何工作和数据如何从Redux Store流向React组件,AFAIK。
(我可能是错的,请纠正我,如果事情是不正确的,我愿意接受你的意见,我还是上找出落实在阵营应用服务的最佳实践方式。)
相关问题
- 1. Angular2等效ReactDOM.render
- 2. $ scope.my_model等于angular2?
- 3. Redux Angular2订阅
- 4. angular2服务 - RXjs
- 5. Angular2订阅不工作关于服务
- 6. 用于REST服务的Java中等效的异步页面
- 7. OSGi声明性服务ConfigurationPolicy.REQUIRE等效于白羊座蓝图
- 8. MySQL查询日志等效于Microsoft SQL服务器
- 9. 服务器端等效Window.Location.getParameter()的GWT
- 10. 使用lidgren从Windows服务/等效Application_Idle
- 11. 等效于WM_MOVE
- 12. Angular2:注射服务
- 13. Next.js和redux。在服务器端填充存储不生效
- 14. Angular2将服务注入其他服务
- 15. Angular2测试服务 - undefined服务
- 16. Angular2:无法将服务注入服务
- 17. Tiff等效于UIImage.AsPNG()
- 18. IsNan等效于C
- 19. ifdef等效于TCL
- 20. fgets等效于C++
- 21. // @ sourceURL等效于CSS
- 22. __LINE__等效于Javascript
- 23. FileMakerPro等效于Linux?
- 24. ShellExecute等效于.NET
- 25. 等效于libmysqldev FreeBSD
- 26. DataInputStream.skip等效于C#
- 27. curl等效于C#
- 28. JRE等效于Python
- 29. .BAT等效于MAC
- 30. ob_get_contents等效于asp
大答案!我唯一要改变的地方就是把它们叫做“包装/帮手”。我不相信有一个商定的术语,因为我已经看到他们称为包装,帮手,服务,客户端,api和其他我不会重复的事情,因为他们没有多大意义。 –