React Beautiful DND& Redux:使用单个Redux商店,但仍然在列表之间重新排序卡?

时间:2018-02-28 14:34:28

标签: javascript reactjs redux drag-and-drop react-redux

我正在使用React和Redux构建基本上是Trello克隆的东西。感谢@Sagiv b.g,我已经制定了逻辑,允许用户使用单个Redux存储创建多个<Board/><List/><Card/>个实例。

但是当我想在不同的<Card/>之间移动<List/>组件时,这种逻辑就会失效。

示例

如果我创建两个列表,一个名为&#34; To Do&#34;一个名为&#34; Done&#34;,我的Redux逻辑使用我的<List/>缩减器将单独的React <Board/>组件实例与正确的boards()实例匹配,如下所示:

case ADD_LIST:
  return state.map(board => {
    if (board.id !== action.boardId) return board;
    return {
      ...board,
      lists: lists(board.lists, action)
    };
  });

如果我在我的&#34; To Do&#34;列表调用&#34;完成看板项目&#34;,Redux中的逻辑基本相同,用于将正确的<Card/>实例与正确的<List/>实例匹配,除非它发生在{{1}减速器:

lists()

到目前为止一切顺利!但是,如果我想 移动 我刚刚从&#34; To Do&#34;列出到&#34;完成&#34;列表,我无法通过React Beautiful DND和Redux组合找出逻辑。

React Beautiful DND想要重新排序整个数组,这意味着我需要相应地更新Redux中的我的卡片组。所以我一直坚持如何从一个列表中取出一张卡并使用我当前的Redux逻辑将其移动到另一个列表中。

感谢任何方向。我已经准备好完全放弃Redux或React Beautiful DND,但想知道是否有人对如何使其工作有任何想法。

0 个答案:

没有答案