immutability

    3热度

    2回答

    寻找一种将值可选添加到列表的理想方法。 最终列表必须是不可变的。 例 - Optional<Item> optionalItem = getOptionalItemFromSomewhereElse(); List<Item> list = ImmutableList.builder() .add(item1) .add(item2)

    0热度

    1回答

    我做了嵌套对象的状态,在那里我应该用动态键和值更新数据。为此我使用了React的不变性帮手设置了操作。 我的示例代码: var update = require('react-addons-update'); var myState = update(this.state, { data: {[dynamic_keys]: {$set: dynamic_values}} });

    1热度

    1回答

    给定一个immutability-helper节,如: new_state = update(this.state, {$merge: { name: event.target.value }}); 有什么办法来取代“名称”上面的参数/变量的关键?我想让这种类型的处理程序更通用。作为发送ARG包含此节告诉更新的内容合并功能,类似于(不工作,尝试创建密钥“ARG”): handleC

    0热度

    2回答

    我有几个与immutable类字段有关的问题。 假设我有一个类Student: public class Student { private final int empId; public int getEmpId() { return empId; } public Student(int empId) { this.empId

    0热度

    2回答

    我正在做官方的ReactJs教程,我开始对不变性的含义和应用感到困惑。 我以为是这样的一个例子。想象一下,我在构造函数this.state = { dog: some data}中有一个对象,然后我调用一个设置this.setState = {dog: another data}的handleClick函数。由于我使用setState来更新值,旧的引用仍然是不可变的,我可以知道更改了什么。 但在本

    1热度

    2回答

    我有一个事件。 该事件不时被触发,它调用一个事件处理程序,它是一个Action<int>。 现在我想“收集”这些事件发送给我的整数并将它们保存在列表中。我也想指定列表完成并开始新列表的时刻。 我想到的天真的解决方案是属性List<int> ValList。 事件处理程序每​​次调用时都会添加一个值。 消费者端在需要时会列出并且会不时说出ValList = new List<int>(); 为了避免

    -1热度

    3回答

    以下是有关如何防止竞争条件的答案。 What is a race condition? 最好的事情是创建无副作用和无状态 功能,使用immutables尽可能。但这并不总是 可能。因此,使用java.util.concurrent.atomic,并发数据 结构,适当的同步和基于角色的并发将帮助 。 这个答案说尽可能地使用immutables。我很困惑不变的对象如何防止竞争条件。

    1热度

    1回答

    我一直在阅读Nathan Marz的'article关于如何用Lambda架构击败CAP定理,并不明白不变数据如何使最终一致性更简单。 以下段落从文章采取: 的关键在于数据是不可变的。不可变的数据意味着没有更新这样的事情,所以一块数据的不同副本不可能变得不一致。这意味着没有发散值,矢量时钟或读取修复。从查询的角度来看,一段数据存在或不存在。数据上只有数据和功能。你不需要做任何事情来强化最终的一致性

    0热度

    1回答

    我是新来的反应和redux。我有一个对象是子对象,其中包含数组 const initialState = { sum: 0, denomGroups: [ { coins: [ { name: 'Penny', namePlural: 'Pennies', label: '1¢', value: .01, sum: 0 },

    2热度

    3回答

    我有一个持有公司和公司内部的对象,有一组团队。 company: { teams: [ { name: 'test team', description: 'dddd', team_manager: null, company: '592577d5b591966c8e535865', permalink: 'test