问题标签 [refluxjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1052 浏览

django - Django Rest Framework + React + Reflux:无法获取新对象

我正在尝试使用 Reflux 操作通过 React 表单发布一个新对象。那部分工作正常。该对象按预期发布,但是,当我尝试以编程方式获取该对象时,它似乎无法访问,除非我注销、重新启动本地服务器,或者有时甚至只是手动访问 api 页面。

关于何时可以获取对象以及何时不能获取对象,我似乎无法获得一致的行为。查看api页面然后返回我的应用程序页面似乎确实有某种效果,但我不知道为什么。也许有人可以为我阐明这一点。

可以肯定的一件事是 POST 请求工作正常,因为当我手动检查对象时,该对象始终存在。

此外,如果您在下面的代码中注意到,我会检查 api 页面上的最后一个对象是什么,并且控制台会以之前的最后一个项目进行响应。所以我能够以编程方式访问 api 页面,但我创建的对象不存在(尽管如果我手动访问该页面)。还要注意,刷新会产生相同的结果。

任何想法可能是问题所在或为什么会发生这种情况?

这是动作:

0 投票
1 回答
4222 浏览

reactjs - 将解析器添加到 React-router

在 react-router 中,有没有办法从 Route-definition 中传递一个可以在 Router.run 函数中获取的属性?我希望针对特定路线触发特定操作。可能是这样的:

在Router.Run中,我想执行resolve中定义的给定动作。有没有办法做到这一点?

这样做的原因是为了确保每个路由都可以实例化服务调用(来自定义的操作),以确保商店拥有该路由所需的数据。在组件中这样做也是一种可能,我们现在遇到的问题是,同一路由中的多个组件需要相同的数据,使其多次从 API 请求数据,并且还会触发来自这些调用的每个结果的重新渲染.

0 投票
3 回答
5167 浏览

javascript - React/reflux 如何进行正确的异步调用

我最近开始学习 ReactJS,但我对异步调用感到困惑。

假设我有一个带有用户/密码字段和登录按钮的登录页面。组件看起来像:

AuthService 看起来像:

行动:

并存储:

因此,当我单击登录按钮时,流程如下:

我直接用 AuthService 调用AuthService.login

我的问题是我做得对吗?

我应该使用动作 preEmit 并执行以下操作:

问题是 preEmit 使得对组件的回调更加复杂。我想学习正确的方法并找到使用 ReactJS/Reflux 堆栈放置后端调用的位置。

0 投票
2 回答
1481 浏览

reactjs - 使用 RefluxJS 反应路由器 - 以编程方式从商店更改路由

在我的项目中,我决定包含 React Router。我的一家 Reflux Stores 需要根据一些 BL 找出路径,然后更改它。首先,我尝试Navigation在 Store 中包含 mixin 并运行this.transitionTo("Foo");它引发错误:“未捕获的类型错误:无法读取未定义的属性‘路由器’”。

有人建议:“可能是通过RefluxJS 商店中不存在的this.transitionTo上下文 () 访问路由器属性”......我理解。this.context.router

但是,必须有一种方法可以以编程方式从 Store 或任何给定的外部 JS 模块更改路由器路径。

我的代码是这样的:

任何帮助将不胜感激!

0 投票
2 回答
480 浏览

reactjs - 如何在 Flux 存储之外保留本地组件数据,例如微调器/错误?

注意:我使用 Reflux 作为我的 Flux 库,因此示例将使用它的语法。然而,这个问题通常适用于 Flux。

在我的示例 Flux 应用程序中,我有一个productStore.js文件保存系统中产品的状态并监听各种产品管理操作,REMOVE_PRODUCT例如ADD_PRODUCT.

这是商店中的示例数据:

现在我想向REFRESH_PRODUCTS组件添加一个动作。

调用如下所示:

组件.jsx

由于刷新产品是一个异步操作,我想在它继续时显示微调器,如果它失败则显示错误。显而易见的 Flux 方式是将加载状态和结果错误(如果发生这种情况)添加到存储中,如下所示:

productStore.js

现在数据的存储因各种标志而变得肮脏:

如果多个组件需要查看产品加载进度或刷新失败,这种状态对我来说非常好,但以防万一,没有其他组件需要这种信息。所以感觉我在没有充分理由的情况下将私有数据置于全局状态。

我希望能够做这样的事情:

component.jsx - 错误代码

然后我可以保持商店的代码干净。但是,我没有明显的方法来做到这一点 - 根据设计,动作创建了一个不允许从动作返回数据的分离。

正确的方法是什么?如何在将相关数据保持在全局状态之外的同时执行私有微调器/错误/等?

0 投票
1 回答
597 浏览

javascript - 为什么 Reflux.js 的 listenAndPromise 助手不起作用?

我正在使用 qwest 查询我的端点,如下所示,onGetResourceCompleted 处理程序按预期触发,但数据未定义。为什么?

我可以通过查看开发工具以及单独调用 qwest 来正确地查看数据加载,只需执行以下操作:

还做以下工作

0 投票
1 回答
101 浏览

javascript - 来自存储的数据的异步请求

我刚开始使用回流js/react 和 webpack。我真的很喜欢listenAndPromise异步模式,但是我遇到了一个问题。我得到以下代码:

行动:

简历服务:

和部分商店:

因此,当用户进行更改时,商店中的 resume 变量就会更新。现在用户想要保存更改,他点击了一个触发按钮Action.save()。我的问题来了:如何将resume变量从商店传递到service上面的文件?

奇怪的是,如果我var Store = require('stores/ResumeStore');service文件中执行此操作,它具有 value object {},只有当我将 store 包含在服务中时才会发生这种情况,我认为它与无限循环要求或类似的事情有关。(Store 需要 Action,Action 需要 Service,Service 需要 Store)

0 投票
1 回答
89 浏览

javascript - 触发动作的回流错误

这要么是一个大错误,要么我无法理解为商店触发的不同操作使用不同的视图 (React) 处理程序的有用性,如果所有处理程序都为这些操作中的每一个调用。

这就是我的意思:https ://jsfiddle.net/69z2wepo/10946/

预期输出:

我实际得到的:

仅通过查看此输出,我就可以说这是错误的。但要澄清一下:动作 1 应该只触发动作 1 的处理程序,动作 2 应该只触发动作 2 的处理程序。

难道我做错了什么?

请帮忙!

PS:我也尝试手动使用 ComponentDidMount 和 this.listenTo; 相同的行为。

0 投票
1 回答
1429 浏览

es6-promise - 从回流商店返回承诺

我正在开发我的第一个反应/回流应用程序,所以我可能以完全错误的方式解决这个问题。我正在尝试从回流商店的操作处理程序返回一个承诺。这是代表我如何尝试执行此操作的最小代码。如果我在浏览器中显示它,我会收到一条错误消息,指出永远不会捕获承诺,因为在启动操作时不会将 onLogin 函数的结果传回。做这个的最好方式是什么?

0 投票
1 回答
369 浏览

refluxjs - 回流存储和动作流逻辑:如何将数据从一个存储传递到另一个存储

商店可以对另一家商店创建操作吗?

我的数据store A总是经常变化,我想在store A每次store B我的数据store A更新时传递数据。

因此,我store A在数据更改上创建了一个监听器,它调用一个句柄函数,该函数使用当前数据“触发”一个 Action dataChange(this.data)(in ),并在每次我的数据更改时store A存储 B 获取新数据。onDataChange(data)store A

所以它正在工作,但我想知道这是我应该如何处理数据流,还是有更优雅的方式来做到这一点。