反应本机动画示例违反最佳做法?

时间:2016-08-25 21:53:05

标签: react-native

根据最佳实践,组件状态应该是不可变的。 但是,至少在表面上,反应原生的Animated类似乎违反了这个要求。

我们应该在组件状态之外设置动画值吗?

//from the example in https://facebook.github.io/react-native/docs/animations.html
componentDidMount() {

   //look ma, you're changing a stateful value directly!
   this.state.bounceValue.setValue(1.5);

   //not sure how this works under the hood, but it looks to be doing the same thing
   Animated.spring(this.state.bounceValue, {
    toValue: 0.8,
    friction: 1,
   }).start()      
}

1 个答案:

答案 0 :(得分:0)

在阅读了你提到的文件后,我找到了这个有用的句子 -

  

这是以优化的方式完成的,比调用setState更快   并重新渲染。因为整个配置是声明性的,我们   将能够实现序列化的进一步优化   配置并在高优先级线程上运行动画。

我希望这能满足您的疑问!