问题标签 [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 投票
2 回答
1677 浏览

typo3 - 如何在“新内容元素”向导的后端对 FCE 进行排序/排序

如何在 TYPO3 的“新内容元素”向导的列表中对 FCE 进行排序/排序?我找到了 TSconfig 来自的 CacheFramework 条目,但我不知道如何更改 FCE 的排序。我的 wizardTab 是“内容元素”。

cf_fluidcontent实体包含:

问候

0 投票
6 回答
15361 浏览

node.js - 异步初始化 React.js 组件的服务器端渲染策略

React.js的最大优势之一应该是服务器端渲染。问题是关键功能React.renderComponentToString()是同步的,这使得在服务器上呈现组件层次结构时无法加载任何异步数据。

假设我有一个通用的评论组件,我可以将它放在页面上的几乎任何地方。它只有一个属性、某种标识符(例如,在其下方放置评论的文章的 id),其他一切都由组件本身处理(加载、添加、管理评论)。

我真的很喜欢Flux架构,因为它让很多事情变得更容易,而且它的存储非常适合在服务器和客户端之间共享状态。初始化包含评论的商店后,我可以将其序列化并将其从服务器发送到客户端,以便轻松恢复。

问题是填充我的商店的最佳方式是什么。在过去的几天里,我一直在谷歌上搜索,我遇到了一些策略,考虑到 React 的这个特性被“推广”了多少,这些策略似乎都不是很好。

  1. 在我看来,最简单的方法是在实际渲染开始之前填充我的所有商店。这意味着组件层次结构之外的某个地方(例如连接到我的路由器)。这种方法的问题是我几乎必须定义两次页面结构。考虑一个更复杂的页面,例如具有许多不同组件(实际博客文章、评论、相关文章、最新文章、推特流......)的博客页面。我必须使用 React 组件设计页面结构,然后在其他地方我必须定义填充当前页面的每个所需存储的过程。这对我来说似乎不是一个好的解决方案。不幸的是,大多数同构教程都是这样设计的(例如这个很棒的flux-tutorial)。

  2. 反应异步。这种方法是完美的。它让我可以在每个组件的一个特殊函数中简单地定义如何初始化状态(无论是同步还是异步),并且在将层次结构呈现为 HTML 时调用这些函数。它的工作方式是在状态完全初始化之前不会渲染组件。问题是它需要光纤据我所知,这是一个改变标准 JavaScript 行为的 Node.js 扩展。虽然我真的很喜欢这个结果,但在我看来,我们仍然没有找到解决方案,而是改变了游戏规则。我认为我们不应该被迫这样做来使用 React.js 的这个核心特性。我也不确定这个解决方案的普遍支持。是否可以在标准 Node.js 网络托管上使用 Fiber?

  3. 我自己有点想。我还没有真正考虑过实现细节,但总体思路是我会以与 React-async 类似的方式扩展组件,然后我会在根组件上重复调用 React.renderComponentToString()。在每次传递期间,我都会收集扩展回调,然后在传递的 和 处调用它们以填充存储。我将重复此步骤,直到填充当前组件层次结构所需的所有商店。有很多事情要解决,我特别不确定性能。

我错过了什么?还有另一种方法/解决方案吗?现在我正在考虑采用 react-async/fibers 方式,但我并不完全确定,如第二点所述。

GitHub 上的相关讨论。显然,没有官方的方法甚至解决方案。也许真正的问题是打算如何使用 React 组件。像简单的视图层(几乎是我的第一个建议)还是像真正的独立和独立组件?

0 投票
2 回答
4221 浏览

reactjs - 登录ajax请求Flux React?

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


0 投票
2 回答
6085 浏览

javascript - 将商店状态作为道具传递,还是每个组件都访问全局商店?

我对以下陈述有点困惑:“呈现整个应用程序”和“将状态传递给子组件”。

示例 1:

我有一个带有AppComponentand的 todos 应用程序TodosListComponentAppComponent从存储中获取待办事项数组并将其作为属性传递给TodosListComponent.

示例 2:

我有一个带有很多状态的巨大应用程序。我有 50 个组件来构建我的应用程序。我是否想AppComponent通过所有 50 个组件将商店中的所有状态向下传递?

所以我想知道,约定是什么?让单个组件直接听他们关心的商店对我来说更有意义。优点是只有单个组件重新渲染,但为什么会出现“整个应用程序在状态变化时重新渲染”的概念呢?

各自的优缺点是什么?什么是共同约定?

0 投票
1 回答
2043 浏览

reactjs - 组件之间的通信

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

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

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

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

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

我有 3 种可能的解决方案

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

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

暗示:

应用程序.js

登录.jsx

提到鞋面

图书馆.jsx

0 投票
4 回答
16904 浏览

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

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

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

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

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

0 投票
1 回答
93 浏览

javascript - 为什么 Flux 可以在 Javascript 中使用“类”?

代码来自这里:https ://github.com/facebook/flux/blob/c62ad1e76f00b880df8e55b00aa9296b627e0ab7/src/Dispatcher.js#L111 :

它在这里使用什么样的语法?据我所知,“class”是Javascript 2.0中的一项关键工作,目前很多浏览器都不支持。为什么在这里使用它?它在工作吗?

0 投票
1 回答
264 浏览

javascript - 如何使用 Gulp 和 Browserify 为 Flux 初始化数据?

我正在使用 Gulp 和 Browserify 来生成 bundle.js 文件。

我现在正在尝试使用来自服务器的数据初始化我的 Flux 应用程序,以便在页面加载时没有等待时间。

根据 Bill Fisher 的说法,这应该在像这样的引导文件中完成(幻灯片 62):https ://speakerdeck.com/fisherwebdev/flux-meetup#62

我的问题是引导函数在哪里被调用?

我见过人们使用命令行来生成一个允许你在全局范围内使用 require 的包。我还看到人们将他们的 JSON 数据放入script标签并将其分配给 window 变量。

这一切对我来说似乎很混乱。这方面的最佳做法是什么?

我会比较喜欢:

此外,我正在加载的数据来自数据库。到目前为止,大多数 Flux 示例仅localStorage在尝试异步加载数据时使用它对我没有帮助。

0 投票
1 回答
550 浏览

reactjs - Reacts/Flux 的存储应该是 GUI 整个状态的快照吗?

简短的问题:看起来应用程序的状态可以完全从 React/Flux 存储中序列化。我已经通过输入值和其他东西看到了这一点,但是动画或悬停效果是什么?我应该使用经典的:hoverCSS 选择器来实现悬停效果,还是应该使用 mouseenter 和 -leave 事件并将悬停状态保存在我的商店中?

0 投票
4 回答
8815 浏览

javascript - React + Flux 和服务器端渲染?(同构反应 + 通量)

使用同构应用程序设置应用程序初始状态的一般做法是什么?如果没有 Flux,我会简单地使用类似的东西:

然后通过express-handlebars渲染该标记并通过{{{reactMarkup}}.

在客户端设置初始状态我会做这样的事情:

所以是的,基本上你在服务器和客户端设置了两次状态,但是 React 会比较差异,并且在大多数情况下,它不会通过重新渲染来影响性能。


当你在 Flux 架构中有操作和存储时,这个原则将如何工作?在我的组件中,我可以这样做:

但是现在如何从服务器设置AppStore中的初始状态?如果我使用React.renderToString没有传递的属性,它将调用AppStore.getAppState()其中没有任何内容,因为我仍然不明白如何在服务器上的商店中设置状态?

2015 年 2 月 5 日更新

我仍在寻找一个干净的解决方案,它不涉及使用第三方 Flux 实现,如Fluxible、Fluxxor、Reflux

2016 年 8 月 19 日更新

使用Redux