2016-09-30 1 views
1

私はプロジェクトでアニメーションの反応モーションを使用しています。私は状態を維持することによって小道具が変わるたびにアニメーションをレンダリングするという問題を解決しました。shouldComponentUpdateの方が良い

const {animation} = this.state; 
     if (animation) { 
      return (
       // updates state upon animatioon to false 
       <Animator rest={this.rest}> 
        {this.getContent()} 
       </Animator> 
      ); 
     } 
     return this.getContent(); 

私は、アニメーションの完了時に私の状態を変更するコールバックを持っています。これはアニメーション中に変化する小道具を除くすべての問題を解決します。

私のアニメーションは2秒間起こり、その後にコールバックがトリガーされますが、アニメーションが1秒のように真ん中にあり、私の小道具が変わると、私のアニメーションは最初から再び始まります。

shouldComponentUpdateを使用しないと、ビューの更新が中止されます。

このような状況は通常どのように処理されますか。 shouldComponentUpdateを使用してもよろしいですか?もっと良い選択肢がありますか?

ありがとうございます。

+0

プロップ変更を処理するのに 'componentWillReceiveProps'を使用していますか?または何かが小道具に直接縛られていますか? –

+0

上記の@BradBumbaloughは、私の小道具が変わるとレンダリングするレンダリング機能にあります – StateLess

答えて

0

アニメーションコンポーネントが(名前Aを使用して)このコンポーネントにレンダリングされると、Aが再レンダリングされるたびに開始されます。ですから、アニメーションコンポーネントをAのの兄弟である別のコンポーネント(B)にレンダリングして、Aの上に透明な背景を置くか、アニメーションコンポーネントを兄弟として使用することができると思います。 AとBは、親または控除を介して通信できます。

関連する問題