问题标签 [reactjs-flux]

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 投票
3 回答
2017 浏览

reactjs - Flux:从 AJAX 向组件返回值

我正在开发简单的 Flux+Reactjs 应用程序,在我的商店中我有:

然后在我的组件中我有:

当我在 getAll() 函数中使用 console.log() 时,我可以看到结果,但是没有任何东西被传递给我的组件,关于如何解决这个问题的任何指针?

0 投票
1 回答
4675 浏览

javascript - 反应路由方式而不重新渲染

所以我有一个使用 Backbone 路由器的简单 React/Flux 应用程序。我有一个案例,用户创建了一个对象,并且路径从 更新/object/new/object/:id。但是,不需要重新渲染页面,因为组件是相同的,并且由于 ajax-create 调用返回后关联的存储更新,它会自行更新。

目前,我刚刚修补了路由器以公开一个仅更新 url 的方法,实际上并没有命中特定于路由的方法。这感觉很老套,并没有真正解决需要添加/删除某些组件(即小部件)的情况(至少它消除了知道哪些组件需要从路由器渲染出来的责任),但主要UI 不需要重新渲染。

所以这给我留下了三个问题:

  1. 处理不需要更改组件的 url 更改的 React 方法是什么?
  2. 仅添加/更改某些组件的 url 更改呢?
  3. 商店应该负责发起路由事件吗?
0 投票
1 回答
1662 浏览

reactjs - 使用 React + Flux 时,action 或 store 是否应该负责转换数据?

使用 React 和 Flux 时,标准做法是从操作进行 API 调用,然后将结果数据存储在 Store 类中。但是谁应该负责在数据存储后转换数据呢?

示例:我有一个EntryStore保存代表购物清单项目的对象。我有许多过滤器可以应用于它们(例如“仅显示dairy”)。我目前通过调用 来进行此工作EntryActions.filterEntries('dairy'),然后调度程序将其传递到EntryStore方法_filterEntries(tag)转换EntryStore._entries数组的位置。这被认为是最佳实践吗?动作本身是否应该转换条目列表,然后将其传递EntryStore给简单的保存?在这种情况下,商店应该有多愚蠢?

0 投票
1 回答
419 浏览

javascript - 单元测试 - 通量和数据持久性

我在单元测试和通量数据存储方面遇到了一个有趣的小问题。

由于数据存储是仅实例化一次(导入模块时)的单例,因此您在单元测试中所做的任何更改都会持续存在。

这可以(并且正在)引起我各种头痛。

我目前正在实施的解决方案是我在 afterEach 中运行的每个商店的重置方法,但我想知道/希望有一种更简单的方法来解决这个问题?

0 投票
1 回答
106 浏览

javascript - 磁通结构内的微型磁通系统

大多数合法的教程/演示都在谈论使用 Flux 作为整个应用程序的框架。我想知道是否有人有使用多个迷你通量组件构建应用程序的经验。因为我是这样想的,所以可能会更容易将迷你系统提取出来,然后应用到其他项目中。

你们有什么感想??

0 投票
2 回答
4221 浏览

reactjs - 登录ajax请求Flux React?

使用提供响应的 通量结构ajax 请求
登录表单提交(React 组件)后,我该怎么办? 你能提供一些例子吗?


0 投票
1 回答
2043 浏览

reactjs - 组件之间的通信

这是我的情况,我对 react/flux 很陌生,刚刚开始玩弄它。我的玩具项目是一个简单的图书馆应用程序。我目前的状态如下:

  • 我有一个名为登录的组件。该组件仅负责存储当前“登录”的用户,以便能够处理库中后面的借/还按钮。因此,用户输入它的名称,该名称将被保存到会话存储中。
  • 我的另一个组件称为库,它包含我的应用程序的主要逻辑。

如果我更改当前用户,我正在努力找出如何重新渲染我的库组件。自从这是我的第一个项目以来,我不想玩弄正确的身份验证或创建路由器。所以我只是制作了一个登录表单,每当用户输入他的名字并登录时,我都会将库应用程序渲染到 DOM 上。

这很好用,但我认为这远非最佳方法。每当我再次登录时,react 都会将 Library 组件中的新实例重新渲染到 DOM 节点中。我根本不处理解构,我认为这很糟糕:(我知道反应不会追加,而是擦除并填充到节点中,但事件处理程序可能会保留等。

那么对于我的情况,什么可能是一个好的解决方案?

我有 3 种可能的解决方案

  1. 如果我以不同的用户重新登录以重新呈现自身,我应该开发一个事件系统以便能够通知库组件,或者
  2. 我可以在 Login & Library 上建立父子关系,所以当我修改 Login 组件的状态时,我的 Library 应用程序也会重新渲染。
  3. 调用将更新组件的操作
  4. 坚持当前

:) 感谢您的任何回答,干杯

暗示:

应用程序.js

登录.jsx

提到鞋面

图书馆.jsx

0 投票
1 回答
576 浏览

node.js - 当我浏览器化时找不到 ./mongo

我正在将脚浸入节点+猫鼬+反应+回流应用程序中。

我也在尝试创建我的第一个同构应用程序。但是当我浏览整个事情时,我得到以下错误

这个问题发生在我需要('mongoose')某处的那一刻

我认为这是因为猫鼬不能在客户端工作?但我不知道我应该如何填充 (Re)Flux 商店?

这是我正在定义的商店的一个片段(猫鼬已经在另一个文件中连接到 mongo,当我不浏览器时,我确实得到了输出)

0 投票
4 回答
16904 浏览

flux - Flux Dispatch.dispatch(...):无法在调度过程中调度

我的代码 https://gist.github.com/ButuzGOL/707d1605f63eef55e4af

因此,当我收到登录成功回调时,我想进行重定向,
重定向也通过调度程序工作。

我得到 Dispatch.dispatch(...): Cannot dispatch 在调度中间。

中间是否有任何黑客可以采取行动?

0 投票
1 回答
390 浏览

reactjs - Flux & React 中的单位转换、权限和其他转换

直截了当:单位转换(用于显示和输入)、权限检查和其他与表示相关的转换等行为属于 Flux 架构的什么地方?

在我们的案例中,“其他与演示相关的转换”的一个示例是将用户布局设置应用于视图。例如,用户可以定义在摘要视图中查看哪些数据字段,以及查看这些字段的顺序。

我们认为我们理解了这个问题解决方案的一部分:这些转换是应用程序状态并且存在于各种状态存储中(“WeekSummaryLayoutStore”、“UnitPreferencesStore”)。设置/获取、编辑和检索这些状态的流程很好理解。

我们想探索的是在哪里应用这些状态以获得最终的呈现结果并与 Flux 架构保持一致。我们提出了多种选择:

1) React 组件 Mixin 在每个叶子组件的“render”方法中处理单元转换之类的事情。各种表示状态存储被 DI'ed 到组件的构造函数中,并且 Mixin 自动将事物连接起来(监听各种状态存储、更新等)。

2)使用中间存储WeekSummaryPresentationDataStore,它监听WeekSummaryDataStore、WeekSummaryLayoutStore和UnitPreferencesStores,并吐出最终的展示数据;然后该组件监听正确的 ***PresentationStore 并像处理任何其他商店一样处理更新和渲染。

3) 整合原始数据存储中的所有转换,并让存储仅吐出可呈现的数据。

支持/反对每个的论点?

1)最终的叶子组件应该是唯一知道如何“呈现”数据的模块。可以说,单位转换、应用布局和基于权限确定数据细节是此表示逻辑的一部分。几个额外的层,但很好地解耦,原始数据存储不需要了解任何关于进一步转换的信息。每个存储的核心业务逻辑可以跨组件重用,然后每个组件可以根据不同的呈现状态存储以不同的方式呈现数据。

2) 增加了什么复杂性?

3) 可以说,一些表示逻辑是业务逻辑的一部分,可以归核心数据存储所有。显着降低复杂性,但如果组件需要相同的核心存储但不同的表示状态,则允许重复业务逻辑。

想法?