Cortex

React 不可变数据存储
授权协议 MIT
开发语言 JavaScript
所属分类 Web应用开发、 常用JavaScript包
软件类型 开源软件
地区 不详
投 递 者 祁高格
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Cortex 是用来管理 React 深度嵌套结构的不可变数据存储。

主要特性:

  • 支持深度嵌套数据

  • 使用不可变数据,允许快速比较:shouldComponentUpdate

  • 高效的分支更新

  • 简单 APIs

  • 轻量级  (4.5kB minified and gzip)

  • 使用 ES6 编写

示例

skyline (4-level nested components)

file system (arbitrarily deep structure of a single component type)

快速开始

初始化 cortex 对象

var data = {a: 100, b: [1, 2, 3]};
var cortex = new Cortex(data, function(updatedCortex) {
  //trigger React component to update props
  myComponent.setProps({cortex: updatedCortex});
});

获取一个嵌套 cortex 对象

cortex.a

//Also works
cortex['a']
 相关资料
  • 问题内容: 我正在ASP.NET,C#,MVC3和SQL Server 2008中构建应用程序。 将向用户显示一个表单以进行填写(姓名,电子邮件,地址等)。我想允许应用程序的管理员向此表单添加额外的动态问题。 额外问题的数量和返回的数据类型将有所不同。例如,管理员可以添加0、1或多个以下类型的问题: 您是否拥有完整,整洁的驾驶执照? 从1到5对您的驾驶技巧进行评分。 请描述您上一次长途旅行的时间?

  • 目录 不变性(immutability)的好处有哪些? 为什么 Redux 需要不变性? 为什么 Redux 对浅比较的使用要求不变性? - 浅比较和深比较有何区别? - Redux 是如何使用浅比较的? - combineReducers 是如何进行浅比较的? - React-Redux 是如何使用浅比较拗的? - React-Redux 是如何使用浅比较来决定组件是否需要重新渲染的? - 为什

  • 不可变数据 ClojureScript 中默认采用不可变数据作为底层实现. cljs 当中实现了 Persistent Data Structure, 虽然是不可变数据, 但创建新数据一般会进行结构复用, 也就是说, 比如下面这个例子, b 在内部实现中就可以复用 a 的某些部分 (def a {:a 1 :b 2}) ; #'cljs.user/a (assoc a :c 3) ; {:a 1,

  • 我需要创建一个类,它可以在变量中存储、或类型的值。 我想声明一个变量,因为只有一个特定类型的对象将用于初始化类的实例。为每种类型声明一个变量将浪费资源,因为只会使用一个。 考虑这一点: 然后执行: 理想情况下,在控制台中获得正确的输出。 我研究了仿制药和其他东西,但找不到我需要的东西。你能告诉我我在找什么吗? < code>Container中的< code>getObject()可以处理带有<

  • F#中的变量是immutable,这意味着一旦变量绑定到某个值,就无法更改。 它们实际上被编译为静态只读属性。 以下示例演示了这一点。 例子 (Example) let x = 10 let y = 20 let z = x + y printfn "x: %i" x printfn "y: %i" y printfn "z: %i" z let x = 15 let y = 20 let z =

  • 这个问题与前一个问题相关,在前一个问题中,我们注意到init捕获lambdas与Boost的范围和迭代器不兼容,因为一些相当模糊且嵌套很深的故障可能很难通过破解Boost来解决。射程源。 接受的答案建议将lambda存储在对象中。为了避免潜在的函数调用开销,我编写了两个函数对象,可以作为潜在的解决方法。它们在下面的代码中被称为和 不使用和编译行,并正确打印行的的实例。 然而,标准草案提到 5.1.

  • 问题内容: 我知道这可能很愚蠢,但是很多地方都声称Java中的Integer类是不可变的,但是下面的代码: 毫无困难地执行(给出预期的结果)6。因此有效地改变了a的值。这不是说Integer是可变的吗?第二个问题和一些小问题:“不变的类不需要复制构造函数”。有人在乎解释原因吗? 问题答案: 不可变并不意味着永远不能等于另一个值。例如,也是不可变的,但是我仍然可以这样做: 并没有改变,而是变成了一个

  • 问题内容: 有没有简单的方法来创建不可变的NumPy数组? 如果必须从中派生一个类来执行此操作,那么为实现不变性而必须重写的最少方法集是什么? 问题答案: 您可以使numpy数组不可写: 另请参见此线程中的讨论: http://mail.scipy.org/pipermail/numpy- discussion/2008-December/039274.html 和文档: http://docs.