通量 state.update

Flux state.update

我是 Flux 库的新手,一直在我的项目中完成 tutorial。在我们编辑待办事项的地方,我有点迷路了。特别是,我对这段代码感到困惑:

case TodoActionTypes.TOGGLE_TODO:
    return state.update(
      action.id,
      todo => todo.set('complete', !todo.complete),
    );

我一直在 google 上搜索 flux 中的“.update”方法,但每次搜索都只是将我重定向到 flux 初学者指南,它没有引用任何 .update 方法。

现在,我的状态应该包含如下内容:

state = {id1: 
        {
         foo: 'bar', 
         fizz:'buzz'},
         }

我的目标是创建一个可编辑的属性,用户可以在其中将存储在 foo 中的值更新为他们喜欢的任何值。目前,我没有看到使用 flux 使用的 state.update 方法的明确路径。我想知道 state.update 如何在不断变化的情况下工作,以及我如何使用它来编辑存储在 foo 中的给定 id 的值。

编辑:对 React Flux 教程中文档的进一步探索将我带到了这段代码:

      case TodoActionTypes.EDIT_TODO:
    return state.setIn([action.id, 'text'], action.text);

虽然我仍然不清楚 set.update 和 state.setIn 方法是如何工作的,但我至少找到了继续我的项目的方法。话虽如此,我非常不喜欢在至少不了解这些方法应该如何工作、它们需要什么参数等的情况下复制和粘贴我的代码。我仍然想了解更多关于这些方法的信息。

编辑 2:有人向我指出这来自 Immutable.js,而不是 Flux。 The docs for Immutable 提供进一步说明。

该函数来自 Immutable.js 库,而不是我之前认为的来自 React。