javascript – Redux App结构 – 在哪里放置服务/业务逻辑?

我正在编写我的第一个Redux应用程序并进行初始轮次,例如选择样板并了解其结构.我发现了一个非常好的叫做
react-redux-starter-kit.

我需要编写一个通知客户端,由API提供(每隔X分钟就会查询API以获取通知 – 稍后可能会被websocket解决方案替换).它不具有路径特定的可见性 – 它总是会在标题栏中看到.考虑到上面的入门套件,哪里放置其代码库最好?我来自Symfony2世界,我将业务逻辑放在一个名为Notification的类中,放入一个src / services文件夹:

.
├── src
|  ├── components/Notification - UI
|  ├── ...
|  ├── services/Notification - Business logic - there is no services folder in the starter kit, so I'm not sure about this ..
|  ├── ...

我需要动作,商店和减少通知的东西,但真的不确定在哪里放置它们.
任何的想法?谢谢.

更新:
基于src / routes / / modules模式,我想最好将应用程序范围的逻辑放入src / modules / Notification文件中.此外,如果代码库太胖了,它可以分成诸如Action,Reducers等文件,在src / modules / Notification foler下…

.
├── src
|  ├── components/Notification - UI
|  ├── ...
|  ├── modules
|  |  ├── Notification - Business logic
|  |  |  ├── actions.js
|  |  |  ├── reducers.js
|  |  |  ├── ...
|  ├── ...

更新:我发现了一个关于构建我们的React Redux应用程序的非常好的article.它引导读者了解不同的方法和困境,然后给出并回答.

最佳答案 首先:样板/入门套件可能很有用,但根据评论,也令人困惑. davezuko套件非常好,但随着时间的推移肯定会变得更加复杂.如果它有帮助,我在
React/Redux links list中有一个
list of some suggested starter kits.我特别推荐
tsaiDavid/simple-redux-boilerplate
cesarandreu/web-app作为更简单的工具包,有很好的文档.

第二:需要能够执行API调用等操作的持久逻辑通常会进入Redux中间件或连接的React组件.我的Redux addons catalog有一个socket and service adapter middlewares的列表,其中一些可能对您有用,或作为示例.

最后,您可能还想阅读handling “business logic” in Redux上的Redux FAQ问题.

点赞