Flux state.update

问题描述 投票:0回答:1

我是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如何在flux中工作,以及如何使用它来编辑给定id的foo中存储的值。

编辑:对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提供进一步的说明。

javascript reactjs reactjs-flux
1个回答
0
投票

该函数来自Immutable.js库,而不是像我以前相信的那样来自React。

© www.soinside.com 2019 - 2024. All rights reserved.