Javascript 使用react-spring将springs与动态项数组一起使用
我正在尝试使用react-spring的Javascript 使用react-spring将springs与动态项数组一起使用,javascript,reactjs,formik,react-spring,Javascript,Reactjs,Formik,React Spring,我正在尝试使用react-spring的useSprings,使用户能够在formikFieldArray中重新排序项目。useSprings可拖动列表演示()使用useRef来管理项目的顺序FieldArray附带了许多用于插入、删除和移动项目的阵列辅助功能 我面临的问题是: 1) 使用formik的movearray helper方法重新排序现有项成功地更改了数组顺序,但需要额外单击以呈现正确的顺序 2) 使用数组帮助器方法添加或删除数组项会产生意外结果。改变ref的长度不会改变顺序的长度。
useSprings
,使用户能够在formikFieldArray
中重新排序项目。useSprings可拖动列表演示()使用useRef
来管理项目的顺序FieldArray
附带了许多用于插入、删除和移动项目的阵列辅助功能
我面临的问题是:
1) 使用formik的move
array helper方法重新排序现有项成功地更改了数组顺序,但需要额外单击以呈现正确的顺序
2) 使用数组帮助器方法添加或删除数组项会产生意外结果。改变ref的长度不会改变顺序的长度。当前usepostation的内部usepostation
我还尝试使用useffect
而不是useRef
,并在道具更改时使用useffect
更新状态
下面是我制作的代码沙盒:
在bind
函数中,注释out order.current=newOrder;和取消注释//arrayHelpers.move(currIndex,currRow);显示了我上面提到的问题1
order.current = newOrder;
// arrayHelpers.move(currIndex, currRow);
我希望能够使用带有react spring的formik的移动
、插入
、和删除
助手功能,在字段数组中无缝地重新排序、添加和删除项目
我至少遇到了您的#1问题
请注意,setSprings
函数本身不会重新渲染任何内容,useSprings
缺少一个要自动更新的依赖项
数组
反应-springs@9.0.0.beta-23
有一个依赖项数组,与链接的沙箱中的useSpringsFixed
包装一起,它应该强制对更改的道具重新加载
希望这对您的问题也有帮助。添加新元素后,您可以尝试设置新的order.current
onClick={() =>{
arrayHelpers.insert(items.length, {
name: `Item ${items.length + 1}`
})
order.current = [...order.current, order.current.length];
}
}
这将在列表末尾添加新项目。谢谢您的回答。我现在正在关注你在Github上打开的问题。嘿!你解决了这个问题吗?