如何在分页控件中启动数据提取(在初始加载和用户通过数据分页时)
在带有 react、redux 和 redux saga 的应用中,哪里是放置启动数据获取的代码的最佳位置,尤其是在包含分页的组件中(并且当前页面的数据缓存在存储并且仅在尚未缓存时才应获取)? 我可以从this question 看到一个建议是在组件本身中执行此操作(例如在componentDidMount 中),这就是我所做的(除了我使用了使用useEffect 的功能组件钩子代替),但逻辑现... »
在带有 react、redux 和 redux saga 的应用中,哪里是放置启动数据获取的代码的最佳位置,尤其是在包含分页的组件中(并且当前页面的数据缓存在存储并且仅在尚未缓存时才应获取)? 我可以从this question 看到一个建议是在组件本身中执行此操作(例如在componentDidMount 中),这就是我所做的(除了我使用了使用useEffect 的功能组件钩子代替),但逻辑现... »
我试图用 redux-saga 运行我的 Redux 应用程序。 基本上在我的store.js 我有以下代码: import { applyMiddleware, createStore } from "redux"; import createSagaMiddleware from "redux-saga"; import logger from "redux-logger"; import ... »
我在 Masstransit 中定义了以下状态机: public class OrderStateMachine : MassTransitStateMachine<OrderState> { public OrderStateMachine() { InstanceState(x => x.Status); Event(() ... »
我使用 redux saga 创建应用程序,但我遇到了地理定位问题。 实际上我找到了解决方案,但我不明白它是如何工作的。 function userPositionPromised() { const position = {} if (navigator.geolocation) { navigator.geolocation.getCurrentPosition ( ... »
我正在尝试在 redux 工具包中实现 redux-saga 动作调度功能,例如自动重新获取。 打开应用程序时,我调度了一些操作以从服务器获取数据并更新 redux 存储。当用户停留在后台并重新进入应用程序时,根据用户长时间不活动的时间长短,应用程序将重新调度操作以再次从服务器获取数据。每当从服务器获取时,我都可以保存时间戳,并比较从非活动状态切换到活动状态的时间。但是如果提供了一个成熟的功能,我... »
我有一个 React 应用程序,我在其中使用 Redux 和 Redux-Saga 并 Reselect 作为选择器库(使用 Immer 来处理 Redux 状态的不变性)。我写这个问题是因为我想了解我处理带参数的选择器的方法是否完全正确。 我个人更喜欢避免在 sagas 中使用 yield select,因为我想保留中间件 not depend on the Store's state,但我的旧... »
我使用 React、Redux、Saga 创建了一个 Todo 应用程序。但是,在应用程序加载时,我从本地文件中获取数据,但是当我修改任何任务并更新它时,它的状态会更新,但是当我再次刷新它时,它会从本地文件加载。 实现这一目标的最佳方法是什么? 下面是我在data.js中的本地数据 let todos = [ { id: 0.11, name: 'Apple' }] 下面是我的减速器:-... »
在 react-native 应用程序中,我想使用来自 redux-saga 的 InteractionManager。 InteractionManager.runAfterInteractions(() => { // ...long-running synchronous task... }); 有可能吗?怎么用?... »
我有一个运行良好的 redux saga 设置。我的调度之一是创建一个新订单,然后一旦创建,我想用更新的状态做事。 // this.props.userOrders = [] dispatch(actions.createOrder(object)) doSomethingWith(this.props.userOrders) 由于 createOrder 操作触发了调用 API 的 r... »
我目前正在编写我的第一个 saga,我对读取模型有点困惑。让我们用一个例子来解释它: 我有三个有界上下文:programming、contractor和control。它们中的每一个都有其特定的读取模型。 工作流程: 编程发送一个事件“JobScheduled” Saga 收到此事件并告诉承包商“安排工作”。 完成后,承包商发送一个事件“JobDone”。 Saga 收到此事件并告诉 ... »
我有一个“提供者”列表,我必须从其中异步获取数据。我使用 redux-saga。 函数 requestProvider 返回 Promise 并为每个提供者获取数据。 我使用“yield all”来运行多个异步请求。 我需要将结果从每个提供者推送到 redux 商店。我尝试使用“yield all”来注册“put”。但是这条线被忽略了。我不确定我做得对。 如何调用redux action将... »
我有这个简单的传奇: export function* priceComparisonSaga() { yield takeEvery(RECORD_PRICE, priceComparison); } 但是每当我发送事件时,它都不会被调用。怎么回事?... »
我在在 React Native 中测试 saga 时遇到了一些麻烦。 我已经阅读了很多示例,但我似乎看不出什么是单元测试传奇的正确方法。 例如: 我有以下传奇: function* getUsers(action) { try { const { id } = action.payload; const { data } = yield call(api.users.getU... »
我正在使用 react、redux、saga 和 router v4。 我想在我的传奇中进行重定向,但我不知道如何访问 history 对象,因为我正在使用 BrowserRouter。 我想要做的类似于: export function * callWS (action) { const result = yield call(data, ws) if (result.st... »
我正在尝试构建一个 redux-saga 程序。流程是当我单击测试按钮时,文本“单击按钮隐藏”将消失。我不知道接下来要处理什么以及如何处理。请帮我。提前致谢! 这是我不完整的代码: constants.js export const TEST_ACTION = 'app/TestPage/TEST_ACTION'; actions.js export function defaultAc... »
以下是我的 redux-saga 生成器 export function* toggleMenu(payload) { let transitionDuration; let { status } = payload; if (!status) { transitionDuration = 500; yield put({ type:types.TOGGLE_MENU, stat... »
我想就你们如何根据副作用动态导航应用获得一些意见。 示例: LoginScreen - 用户输入电子邮件/密码并提交。我正在使用 Sagas 来处理我的副作用,所以当用户从 api 成功验证并且我的 Redux 商店相应更新时,我想将我的用户推进到 HomeScreen。 解决方案 1: 使用绑定到 Redux 的 React Navigation,我可以从我的 Saga 发送一个导航调用来... »
我正在尝试了解如何将 redux-saga 连接到 NextJS,并遵循他们提供的示例代码 -- https://github.com/zeit/next.js。我知道可以从getInitialProps 中加载数据,但我不明白调用Component.getInitialProps 发生了什么: class MyApp extends App { static async getInitia... »
在使用normalizr 对其进行规范化后,我将表单数据存储在 redux 存储中。当我提交表单时,我使用 thunk 中的选择器获取非规范化数据,然后将其发送到服务器。流程如下: rootReducer -> localReducer -> action/actionCreator -> rootReducer 在rootReducer 文件中,根reducer 组成loc... »
根据chrisrichardson 所写的关于微服务中 sagas 中补偿事务的内容: 什么是补偿交易? rejectOrder() 命令是补偿事务的一个示例。与 ACID 事务不同,sagas 不能自动撤消先前步骤所做的更改,因为这些更改已经提交。相反,您必须编写显式撤消这些更改的补偿事务。 saga 的每个步骤后面都有可能失败的步骤(出于业务原因)必须有相应的补偿事务。 在 Create O... »