- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在基于此 real-world example 的小型项目中使用 Redux/sagas 工作流,但这些逻辑并不那么复杂。我应该如何使用更全面的 API(即 Reddit 的 API)而不会使事情变得过于冗长?
const
? IE。,export const fetchUser = login => callApi(`users/${login}`, userSchema)
真实世界
更大/更复杂的例子?最佳答案
我认为答案取决于您希望组件的流动性。
我正在使用 sagas 开发大型代码库,我们的页面分为“类型”,例如“列表”类型、“表单”类型等。
我们有一个 saga 负责获取内容,而每个 pageComponent 在呈现时负责提供端点。
这允许一种非常模块化的方法,添加一个组件来处理文件系统的一个子部分。
我们的页面主要是包含所有这些信息的配置文件,我们使用此配置来呈现具有正确数据的“通用”组件。
Saga 可重用性
我将 Sagas 视为顺序进程,它们可以用于异步获取数据,但它们对于任何需要按顺序处理的事情也很有用。
这些“流程”有时在代码库中非常相似,而这些正是您想要概括的。
正如您所说,最常见的操作是任何端点的 CRUD,可以很容易地组合在一起。
Login
与 loadUserList
截然不同,之后需要发生不同的事情,但是 loadUserList
和 loadRepoList
是极其相似。
影响可重用性的因素
您控制 API 的能力,如果您可以决定您使用的 API 的形状,您就可以在前端实现更多的概括。
应用程序的形状(正面)- 您的页面是否奇怪地依赖于彼此的状态?例如,保险计划的表格相互链接并不少见,您可以按任意顺序填写前 3 个表格,但一旦所有三个表格都完成,第 4 个表格就会解锁。
这些依赖项中的每一个通常都会有自己的 saga 来控制您的使用故事的流程。
可以统一的通用 Sagas
关于实体缓存
实体缓存只是他们取的一个名字,但这又回到了前面提到的要点。
您的应用程序是在陈旧数据上运行,还是每次加载组件时都从服务器获取数据?
如果数据只被获取一次并且你显示陈旧数据,你将把它存储在一种缓存中(基本上就是 redux 存储)。
如果您显示过时的数据,这就是要走的路。
关于javascript - 终极版/传奇 : Approach for larger API's,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43895719/
我正在使用 IAmStartedByMessages 开始 nsb 传奇。在处理这个特定消息时,我正在执行某种业务逻辑,如果某些情况失败,我不希望 Saga 被持久化。我怎样才能实现这个目标? 谢谢,
我需要为我的矢量图层创建符号。我的矢量图层有动态样式,我想在 Canvas 或 svg 中创建图例。有谁知道如何根据 ol.style 为我的图例渲染符号? 最佳答案 我们最近在 GeoExt 3 中
据我了解,这三个概念都与长时间运行的事务相关。 据我了解,流程管理器是一个有限状态机,它只是对事件使用react并发出命令。它不包含任何业务逻辑,它只是进行路由。它的目标是让您进入最终状态,您知道您的
我正在尝试复制以下图表 我遇到的问题是如何在每个堆叠的盒子的左侧和中间制作图例(每个盒子中的系列词)。我搜索了 amCharts 但没有运气。有没有办法做到这一点或如何覆盖或扩展 amCharts 以
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 3年前关闭。 Improve this qu
我想创建一个由消息“Event1”开始的传奇,但它会忽略收到具有相同应用 ID 的“重复”开始消息(这可能是由于两个或多个用户在短时间内点击了 UI 按钮) .文档似乎表明这种方法可行: 佐贺声明 I
我试图让图例为循环中绘制的每个项目添加一个条目。因此,“vgs”可能被绘制了 6 次,对于每一次我都想为名称“vgs”添加一个条目以及为“vgs”的特定实例绘制的颜色。我的代码目前似乎为最后一个实例创
我是 React Redux 新手。只是尝试 Redux Saga 并遇到一些我无法理解的错误消息。这是我的 rootSaga: import { takeEvery } from 'redux-sa
我有一个已经调用并且必须等待的 promise 。基本上: const foo = () => Promise.resolve('foo'); // The real promise takes ti
我有一个已经调用并且必须等待的 promise 。基本上: const foo = () => Promise.resolve('foo'); // The real promise takes ti
默认情况下,MATLAB 将图例条目的文本部分放在图中所用内容的样本之后。有什么办法可以扭转这种局面吗?例如,使用下面的代码,图例中的第一个条目是一个深蓝色矩形,后跟文本 I'm;我希望它是相反的(即
我是 python 和 matplotlib 的初学者。我想创建一个带有图例的水平条形图。我的代码: import matplotlib.pyplot as plt plt.rcdefaults()
Epic商城限时免费购买《雷曼:传奇》游戏 需要的上 《雷曼:传奇》是一款动作闯关冒险题材的游戏 截止21/6前 免费购买 活动地址:http://t.cn/Aigo55Nx
我正在尝试使用 redux-saga 编写一个 api。我有这样的 servicesSaga.js import { FETCH_USER } from '../actions/actionTypes
我在基于此 real-world example 的小型项目中使用 Redux/sagas 工作流,但这些逻辑并不那么复杂。我应该如何使用更全面的 API(即 Reddit 的 API)而不会使事情变
我有一个 controller saga,它曾经有一个步骤来启动一个进程,该进程在一个事务中包含 3 个 Action 。我现在正在将这个子流程重构为一个单独的传奇。这样做的结果是,原始 saga 将
我的应用程序有两个部分。它们每个都有自己的 saga 中间件,但两者都不会同时实例化。它总是一个或另一个。例如,一个 saga 处理登录,另一个处理主页。 我想知道在我的应用程序的两个部分之间导航时应
你好 Stack Overflow 社区! 我正在寻找一个好的实践和实现来等待组件中的分派(dispatch)操作。 我知道 React-Native 和 Redux-Saga 只是说:不要等待,让商
传奇新手,我在我的根传奇中使用它: function* rootSaga() { yield [ cycleRoot(), // fetches root cy
我正在使用 Redux Saga 模板,它使用包含 yield call() 实例的生成器函数。基本上看起来像这样: function *a(){ yield call(); } yield ta
我是一名优秀的程序员,十分优秀!