react-native做动画时的一些填坑总结

1. 强烈建议使用react-native-reanimated动画库

在做动画时,发现使用react-native库中的animated,部分属性是不支持原生驱动的,比如width/height等

2. 动画执行时不要使用setState

会造成动画的延迟或卡顿,目前猜测是因为两者在不同的线程执行导致,若非要setState更新什么内容,建议将state值转化为动画,通过更新动画来更新UI

3. for循环处理动画时,动画不会同时执行

之前认为for循环执行的很快,动画有个毫秒级别的延迟没啥影响,但在实际开发中发现两个问题:

  1. 两次for循环的动画时间差还是挺大的,能明显感知到
  2. 最后一次循环里的动画会先执行

处理办法就是把最影响用户的那个动画放到for循环的最后面

4. 手势使用react-native-gesture-handler手势库

RN官方提供的PanResponder部分操作是在JS线程操作的,繁忙时会有性能问题,而react-native-gesture-handler都是在UI线程操作的,性能较好,该手势库和react-native-reanimated动画库搭配更爽。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值