2016-08-25 64 views
0

根據最佳實踐,組件狀態意味着不可變。然而,至少在表面上,反應本地的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()  
} 

回答

0

閱讀你所提到的文件後,我發現這個有用的sentence-

這是在比調用setState 和重新渲染速度優化的方式完成。由於整個配置都是聲明式的,因此我們 將能夠實現進一步優化,將序列化配置並在高優先級線程上運行動畫。

我希望這可以滿足您的查詢!