Я пытаюсь использовать useSprings
response-spring, чтобы пользователи могли переупорядочивать элементы в formik FieldArray
. В демонстрации перетаскиваемого списка useSprings (здесь) используется useRef
для управления порядком элементов. FieldArray
поставляется с рядом вспомогательных функций массива для вставки, удаления и перемещения элементов.
У меня возникают следующие проблемы:
1) Изменение порядка существующих элементов с помощью вспомогательного метода массива formik move
успешно изменяет порядок массива, но требует дополнительного щелчка мышью для отображения правильного порядка
2) Добавление или удаление элементов массива с помощью вспомогательных методов массива приводит к неожиданным результатам. Изменение длины ссылки не меняет длину order.current
внутри useGesture
Я также пробовал использовать useState
вместо useRef
и обновлять состояние с помощью useEffect
при изменении свойств.
Вот созданная мной песочница кода: https://codesandbox.io/s/usesprings-with-fieldarray-56bex
In the bind
function, commenting out
order.current = newOrder;and uncommenting
// arrayHelpers.move(currIndex, currRow);shows issue #1 that I mentioned above.
Я хотел бы иметь возможность использовать вспомогательные функции formik move
, insert
и remove
с react-spring для плавного изменения порядка, добавления и удаления элементов в FieldArray
.