问题标签 [normalizr]
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.
redux - 如何将更新合并到规范化的 redux 状态
我刚开始使用 normalizr 来管理我的状态。我已经到了以下代码更新所需对象的地步,但我无法以干净、干燥的方式将它们合并回规范化状态。这样做的首选方法是什么?
原谅我的菜鸟,谢谢你的时间。
javascript - normalizr 模式中的嵌套数组
我需要规范化这些数据,以便我同时拥有一个列表数组和另一个待办事项。
这是我得到的:
我一直在尝试他们的例子,但似乎没有一个适用于这些数据。
任何帮助,将不胜感激。
normalizr - 类型错误:_normalizr.schema 未定义
使用 normalizr 时出现错误“TypeError:_normalizr.schema 未定义”
我第一次使用 normalizr。我已经尝试了 normalizr 文档和其他几个地方的几个样本,但得到了同样的错误。
这是我在收到上述错误时尝试运行的示例:
我的项目正在使用带有 babel-preset-es2015 和 normalizr ^2.1.0 的节点和 webpack
javascript - 如何用 normalizr 规范化这个?
考虑传回的用户对象:
我想跑:normalize(user);
并得到这样的东西。可能吗?还是正确的?我正在尝试从用户中提取组,所以我可以将它放在它自己的实体插槽中。
我不太确定我的模式应该是什么样子才能达到这个结果。
redux - 用于客户端数据存储的规范化多对多模式
我正在开发社交网络应用程序的浏览器前端。它有很多关系数据,具有一对多(1:m) 和大多数多对多(m:m) 关系,如下表所示。
我想在应用程序中使用 Flux 数据流架构。我将 Vuex.js 与 Vue.js 一起使用。
正如 Redux.js 文档中所表达的那样,出于各种原因使用 React,最好使用平坦、规范化的存储状态形状,我认为使用 Vue.js 也是如此。
- 帖子有类别(m:m)
- 帖子有标签 (m:m)
- 帖子有评论 (1:m)
- 帖子中有主题标签 (m:m) // 或用户创建主题标签
帖子中有提及(m:m)//或用户创建用户提及
用户喜欢帖子 (m:m)
- 用户关注用户、帖子、帖子类别等 (m:m)
- 用户最喜欢的帖子 (m:m)
等等
我将需要显示帖子提要及其所有其他实体的相关数据,如用户、评论、类别、标签。为此,就像有一个1:many关系一样,将这个关系的数据的 many 边保存在一侧(可以说是parent),即使它实际上是many-to-many,对于通常查询它们似乎没问题组成他们的父母,那就是帖子。但是,我还需要反向查询商店状态,例如,获取具有特定类别或标签的帖子。
在这种情况下,它不像帖子那样容易。我需要一个关系实体来保存两个连接数据实体的id对,就像 RDBMS 中的连接表或关联表一样,以便于访问和更新,避免深入挖掘状态,并避免不必要的重新渲染(即要求是 React 或 Vue.js 和 GUI 特定的)。
我怎样才能相对容易和有效地实现这一点,例如对于1:many关系?
normalizr - 规范化共享当前模式的嵌套实体
我的目标是规范化这个对象:
进入这个结果:
如果您注意到, 中的项目related_talks
被视为与 a 相同talk
。
我的模式遵循示例并设置如下:
无论我尝试什么,我都无法将项目related_talks
添加到result.talks
数组中。然而,它在entities
对象中。
为了适应这种情况,我的架构配置缺少什么?
javascript - 如何使用 normalizr 和/或 immutablejs 创建规范化数据结构
我有一个从客户端 API 返回的不规则数据块。我没有能力让他们改变它,他们已经说得很清楚了。
前几层中的大多数永远不会改变,对 UI 的影响为零。我尝试了几种使用 normalizr 的变体,但没有任何远程工作。对我来说重要的数据是“组件”级别的。最终,我关心的唯一数据是来自“组件”键的“项目”数组:
javascript - Normalizr – 是否可以有条件地删除实体?
所以我正在使用 normalizr 来按摩一些我认为合适的数据。但是,我的应用程序不需要通过 normalizr 传递的一些实体。有没有办法使用流程策略或类似的方法来丢弃实体?谢谢!
这样的事情可能吗?还是有更好的方法来删除实体?
javascript - 如何使用 normalizr 2 创建主/根模式?
假设我有以下架构和数据:
我将如何设置一个resource
和resourceList
模式来包装我的所有模式,以便在我的 api 调用中我只需要引用resource
或resourceList
例如:
或者
我试过这样做:
但这似乎不起作用。
normalizr - 尝试理解 normalizr 的 schema.entity VS Array and Object
全部:
我试图了解实体数组和对象之间的关系:
- 它们只是描述数据差异结构的不同格式吗?或者实体与其他两个有很大不同?
- 规范化的数据结果具有类似 {result:,entities:}的结构,数据结构是否仅使用 schema.Entity 定义在实体中,或者 schema.Array 和 Object 也可以?当我定义一个只使用对象和数组的架构时,似乎没有放入实体,我不确定这是我的架构 def 错误还是 normalizr 的工作方式?
- 如果只有 schema.Entity() 定义的数据可以放入实体中,那么我如何将数据数组放入其中,例如 {0:.., 1:..,2:,}?
例如,我有如下数据:
谢谢