助焊剂state.update

时间:2019-10-03 16:54:06

标签: javascript reactjs reactjs-flux

我是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中存储的值。

编辑:对反应通量教程中文档的进一步探索将我带到以下代码块:

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

虽然我仍然不清楚set.update和state.setIn方法的工作方式,但我至少找到了继续进行我的项目的方法。话虽如此,我非常不喜欢复制和粘贴代码,而至少不了解这些方法应该如何工作,它们需要什么参数等等。我仍然想对这些方法有更多的了解。

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

1 个答案:

答案 0 :(得分:0)

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

相关问题