我试图理解这个用于 react 拖放可排序列表的函数。
moveCard = (dragIndex, hoverIndex) => {
const { cards } = this.state
const dragCard = cards[dragIndex]
this.setState(
update(this.state, {
cards: {
$splice: [[dragIndex, 1], [hoverIndex, 0, dragCard]],
},
}),
)
}
具体来说,我不明白这句话
$splice: [[dragIndex, 1], [hoverIndex, 0, dragCard]],
我尝试查找拼接数组定义,但我只是不明白它是如何工作的。有人可以解释一下吗?
最佳答案
这是一个immutability helper 。对于数组中的每个项目,它使用该项目提供的参数在目标上调用 splice()
。
例如:
const collection = [1, 2, {a: [12, 17, 15]}];
const newCollection = update(collection, {2: {a: {$splice: [[1, 1, 13, 14]]}}});
// Outputs: [1, 2, {a: [12, 13, 14, 15]}]
这会访问 collection
的索引 2、键 a
,并从索引 1 开始拼接一项(以删除 17),同时插入 13 和 14。
关于javascript - ReactJS - 我不明白这个函数中使用的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51026509/