Questions tagged «flux»

8
为什么通过Facebook Flux使用Redux?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 去年关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我已经阅读了这个答案,减少了样板,看了几个GitHub示例,甚至尝试了一点redux(待办事项应用程序)。 据我了解,官方的redux doc动机与传统的MVC架构相比具有优势。但是它没有提供以下问题的答案: 为什么要通过Facebook Flux使用Redux? 这仅仅是编程风格的一个问题:功能性还是非功能性?还是问题出在redux方法之后的abilities / dev-tools中?也许缩放?还是测试? 如果我说redux对于来自函数式语言的人来说是一种变化,那我是对的吗? 为了回答这个问题,您可以比较实现Redux在通量和Redux上的动机点的复杂性。 以下是来自官方redux doc动机的动机点: 处理乐观更新(据我了解,这几乎不依赖于第5点。很难在Facebook流量中实现它吗?) 在服务器上渲染(facebook流量也可以做到这一点。与redux相比有什么好处吗?) 在执行路线转换之前获取数据(为什么不能在facebook流量中实现?有什么好处?) 热重载(React Hot Reload可能实现。为什么需要redux?) 撤消/重做功能 还有其他要点吗?像坚持状态...

7
使用Redux而不是Flux会有什么弊端[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 去年关闭。 改善这个问题 我最近才发现Redux。一切看起来不错。在Redux上使用Redux是否有任何弊端,陷阱或妥协?谢谢

6
如何在Redux应用程序中动态加载reducers进行代码拆分?
我要迁移到Redux。 我的应用程序包含很多部分(页面,组件),因此我想创建许多化简器。Redux的例子表明,我应该使用它combineReducers()来生成一个reducer。 另外,据我了解,Redux应用程序应具有一个存储,并且在应用程序启动后即会创建。创建商店时,我应该通过我的组合减速器。如果应用程序不是太大,这是有道理的。 但是,如果我构建多个JavaScript捆绑包怎么办?例如,应用程序的每个页面都有自己的捆绑软件。我认为在这种情况下,一个减速器组合不好。我浏览了Redux的源代码,发现了replaceReducer()功能。这似乎是我想要的。 replaceReducer()当我在应用程序的各个部分之间移动时,我可以为应用程序的每个部分创建组合的reducer并使用。 这是一个好方法吗?

6
服务器端渲染异步初始化的React.js组件的策略
React.js的最大优势之一应该是服务器端渲染。问题在于密钥功能React.renderComponentToString()是同步的,这使得在服务器上呈现组件层次结构时无法加载任何异步数据。 假设我有一个通用的注释组件,可以将其放置在页面上的任意位置。它只有一个属性,某种标识符(例如,放置评论的文章ID),其他所有内容都由组件本身处理(加载,添加,管理评论)。 我真的很喜欢 Flux架构,因为它使许多事情变得容易得多,并且它的存储非常适合在服务器和客户端之间共享状态。初始化包含评论的商店后,我可以对其进行序列化并将其从服务器发送到易于还原的客户端。 问题是填充我的商店的最佳方法是什么。在过去的几天里,我一直在搜寻很多东西,并且遇到过几种策略,考虑到React的这一功能正在“推广”多少,这些策略似乎都不是一件好事。 我认为,最简单的方法是在实际渲染开始之前填充所有商店。这意味着组件层次结构之外的某个地方(例如,钩到了我的路由器)。这种方法的问题在于,我几乎必须两次定义页面结构。考虑一个更复杂的页面,例如具有许多不同组件的博客页面(实际博客文章,评论,相关文章,最新文章,Twitter流...)。我将不得不使用React组件设计页面结构,然后我必须在其他地方定义填充此当前页面的每个所需商店的过程。这对我来说似乎不是一个很好的解决方案。不幸的是,大多数同构教程都是以此方式设计的(例如, flow-tutorial)。 反应-异步。这种方法是完美的。它使我可以简单地在每个组件的特殊功能中定义如何初始化状态(无论是同步还是异步),这些功能在将层次结构呈现给HTML时被调用。它的工作方式是直到状态完全初始化后才呈现组件。问题是它需要纤维据我了解,这是一个Node.js扩展,可更改标准JavaScript行为。尽管我非常喜欢结果,但在我看来,我们没有找到解决方案,而是更改了游戏规则。而且我认为我们不应被迫使用React.js的这一核心功能。我也不确定该解决方案的一般支持。是否可以在标准Node.js虚拟主机上使用Fiber? 我自己想了一下。我还没有真正考虑过实现细节,但是总体思路是,我将以类似于React-async的方式扩展组件,然后在根组件上重复调用React.renderComponentToString()。在每次通过期间,我将收集扩展的回调,然后在和处调用它们,以填充商店。我将重复此步骤,直到将填充当前组件层次结构所需的所有商店。有很多事情需要解决,我尤其不确定性能。 我错过了什么?还有其他方法/解决方案吗?现在,我正在考虑采用react-async / fibers方式,但是我不确定,正如第二点所述。 GitHub上的相关讨论。显然,没有官方的方法甚至解决方案。可能真正的问题是应如何使用React组件。像简单的视图层(几乎是我的建议之一)还是真正的独立组件?


4
如何存储配置文件并使用React读取
我是React.js的新手,我实现了一个组件,在其中我从服务器获取数据并像这样使用它, CallEnterprise:function(TenantId){ fetchData('http://xxx.xxx.xx.xx:8090/Enterprises?TenantId='+TenantId+' &format=json').then(function(enterprises) { EnterprisePerspectiveActions.getEnterprise(enterprises); }).catch(function() { alert("There was some issue in API Call please contact Admin"); //ComponentAppDispatcher.handleViewAction({ // actionType: MetaItemConstants.RECEIVE_ERROR, // error: 'There was a problem getting the enterprises' //}); }); }, 我想将Url存储在配置文件中,所以当我在测试服务器或生产环境中部署Url时,我只需要更改config文件中的url(而不是js文件中的URL),但是我不知道如何在react.js中使用配置文件 谁能指导我如何实现这一目标?

5
用React漂亮地打印JSON
我正在使用ReactJS,我的应用程序的一部分需要漂亮的打印JSON。 我得到一些JSON,例如:{ "foo": 1, "bar": 2 },如果我JSON.stringify(obj, null, 4)在浏览器控制台中运行该代码,它会很漂亮地打印出来,但是当我在此反应代码段中使用它时: render: function() { var json = this.getStateFromFlux().json; return ( <div> <JsonSubmitter onSubmit={this.onSubmit} /> { JSON.stringify(json, null, 2) } </div> ); }, 它呈现看起来像的JSON格式"{ \"foo\" : 2, \"bar\": 2}\n"。 如何使这些字符正确解释?{

3
如何在刷新时保持Redux状态树?
Redux文档的第一个原理是: 整个应用程序的状态存储在单个存储中的对象树中。 我实际上以为我对所有原则都了解得很好。但是我现在很困惑应用程序的含义。 我理解,如果应用程序仅意味着网站中复杂的小部分之一并且仅用一页即可工作。但是,如果申请意味着整个网站怎么办?我应该使用LocalStorage还是Cookie或其他某种方式保留状态树?但是如果浏览器不支持LocalStorage怎么办? 我想知道开发人员如何保留其状态树!:)
92 reactjs  redux  flux 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.