/ネイティブ反応するアセンブリローリング発表を反応させる(ネイティブコード)

書き込みは容易ではない、私はあなたが親指を願って

インポートは、{PureComponent}を反応させから、 反応します
インポート{アニメーション、表示緩和} から ネイティブ反応します

エクスポートデフォルト クラスNoticeScrollはPureComponent {延び
  コンストラクタ(小道具){ 
    スーパー(小道具)。
    この .state = { 
      newChildren:この.props.children、
    }。
    この .animationは= 新しい Animated.Value(0 );
    この .directionは= この === .props.directionを' 垂直'高さ;
    この .transationValueは= この .props.styles [ この.direction]を、
    この .KEY = 0 ;
    この .arr = []; 
  } 

  startAnimation(){ 
    CONSTメートル= この .props.meter || 0 ; 
    Animated.timing(この.animation、{ 
      toValueの: - この .transationValue +の計、
      持続時間:この .props.scrolltime || 5000 
      緩和:Easing.linear、
      useNativeDriver:
    。})(()開始 => {
       この .animationは= 新しい Animated.Value(0 );
       この.initPosition();
       この.startAnimationは(); 
    }); 
  } 

  initPosition(){ 
    この .KEY ++ もしこの .KEY < 2 ){
       // React.Children.forEach(this.props.children、(子、インデックス)=> {
       //      ましょう小道具= {
       //          キー: `$ {this.key} $ {インデックス} `、
      //          ... child.props
       //      };
      //      this.arr.push(React.cloneElement(子、小道具));
      // })。
      React.Children.forEach(この .props.children、(子、インデックス)=> { 
        せnewProps = { 
          キー: `$ { この.KEY} $ {}インデックスflag`、
          ... child.props、
        }; 
        この.arr.push(React.cloneElement(子供、newProps)); 
      }); 
    } 

    この.setState({ 
      newChildren:[... この.arr] 
    })。
  } 

  componentDidMount(){
    この.initPosition();
    この.startAnimation(); 
  } 

  componentWillUnmount(){ 
    この .startAnimation =()=> {}; 
  } 

  (){レンダリング
    CONST {スタイル、方向} = この.propsと、
    CONST {newChildrenは} = この.stateと、
    リターン <ビュースタイル= {{オーバーフロー:' 隠された'、高さ:35、justifyContent:' 中央' }}> 
        < Animated.View 
          スタイル = {{  
            変換:[
              方向!== ' '{移動X:この.animation} 
                :{移動Y:この.animation} 
            ]、
            flexDirection:' ' 
          }} > 
          {newChildren}
         </Animated.View> 
      </表示> 
    )。
  } 
}

コンポーネントはAnimated.divを変更するAnimated.Viewに直接使用することができる反応

おすすめ

転載: www.cnblogs.com/it-Ren/p/12049081.html
おすすめ