我正在尝试使用 react-springuseSprings
来使用户能够重新排序 formik 中的项目FieldArray
。useSprings Draggable List 演示(在此处找到)用于useRef
管理项目的顺序。FieldArray
带有许多用于插入、删除和移动项目的数组辅助函数。
我遇到的问题是:
1)使用formik的数组辅助方法重新排序现有项目move
成功改变了数组顺序,但需要额外点击才能呈现正确的顺序
2) 使用数组辅助方法添加或删除数组项会产生意想不到的结果。改变 ref 的长度不会改变order.current
inside ofuseGesture
我也尝试过在道具更改时使用useState
而不是useRef
更新状态。useEffect
这是我制作的代码沙箱:https ://codesandbox.io/s/usesprings-with-fieldarray-56bex
在bind
函数中,注释掉
order.current = newOrder;并取消注释
// arrayHelpers.move(currIndex, currRow);显示我上面提到的问题 #1。
我希望能够将 formik 的move
、insert
和remove
helper 函数与 react-spring 一起使用,以无缝地重新排序、添加和删除FieldArray
.