【问题标题】:Swapping components in React在 React 中交换组件
【发布时间】:2018-02-15 23:52:08
【问题描述】:

在我的 ReactJS 项目中,我有一个 MainComponent,其中包含一些在我的示例中写下的 ChildComponents。我正在寻找一种通过向上/向下按钮“交换”子组件的平滑方法。

我已经检查了“react-sortable-hoc”,但这似乎只是处理通过鼠标或触摸进行的拖动,我正在通过点击事件搜索交换,例如包含上移/下移的按钮。

- MainComponent
  - ChildComponent #1 [up / down]
  - ChildComponent #2 [up / down]
  - ChildComponent #3 [up / down]
  - ChildComponent #4 [up / down]

是否有任何此类建议的库或存档此类内容的方法?

【问题讨论】:

标签: reactjs components react-redux


【解决方案1】:

我会简单地交换您的ChildComponent 的顺序,但请确保正确管理每个ChildComponentkeys 道具。

因此,假设您的 ChildComponent 由以下人员呈现:

arrays.map(x => <ChildComponent keys={x.id} />)

确保使用不基于array 索引的密钥。 比如说,交换第 2 和第 3:

let 2nd = arrays[1], 3rd = arrays[2];
array[2] = 2nd;
array[1] = 3rd;

然后您可以专注于更新array。如果你想要更多的过渡,值得尝试reactcss-transition-group

【讨论】:

  • 谢谢你的回答,我去看看!
  • 自己创建了一个用于交换组件的函数,但我只是不知道如何在状态发生变化和组件重新排序时创建平滑的移动过渡。你能提供一个如何做到这一点的例子吗?
猜你喜欢
  • 1970-01-01
  • 2015-01-11
  • 1970-01-01
  • 2016-10-18
  • 2018-02-21
  • 2018-12-26
  • 1970-01-01
  • 1970-01-01
  • 2020-02-07
相关资源
最近更新 更多