我正在编写我的第一个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/<name of route component>/modules
模式,我想最好将应用程序范围的逻辑放入src/modules/Notification
文件中。此外,如果代码库太胖了,它可能被分成Actions
Reducers
下的文件,如src/modules/Notification
{...}}。
.
├── src
| ├── components/Notification - UI
| ├── ...
| ├── modules
| | ├── Notification - Business logic
| | | ├── actions.js
| | | ├── reducers.js
| | | ├── ...
| ├── ...
更新:我发现了一个非常好的article关于构建我们的React Redux应用程序。它引导读者了解不同的方法和困境,然后给出并回答。
答案 0 :(得分:2)
首先:样板/入门套件可以有用,但根据评论,也令人困惑。 davezuko套件非常好,虽然它随着时间的推移肯定会变得更加复杂。如果有帮助,我的list of some suggested starter kits中有一个React/Redux links list。我特别推荐tsaiDavid/simple-redux-boilerplate和cesarandreu/web-app作为更简单的工具包,并提供了很好的文档。
第二:需要能够执行API调用等操作的持久逻辑通常会进入Redux中间件或连接的React组件。我的Redux addons catalog有一个socket and service adapter middlewares列表,其中一些可能对您有用,或作为示例。
最后,您可能还想阅读handling "business logic" in Redux上的Redux常见问题解答问题。
答案 1 :(得分:0)
至于应用结构,我建议您关注this guide
它很好地解释了使用component / container / actions / ...文件夹来构建应用程序的问题。
对于入门套件,我使用react-slingshot的修改版本,它为您做了很多繁重的工作。正如评论中所说,您有责任了解它是如何工作的,以便能够在需要时进行调试。