5

他の場所から取得したデータを含む React コンポーネントをアニメーション化しようとしています。ReactCSSTransitionGroupそれをうまく機能するように配置します。つまり、コンポーネントのメソッドを変更して、データがフェッチされるまでrender()返すようにするまで ( data なしでレンダリングされないようにするため)。false

コンポーネントはすぐにマウントされ、その時点でアニメーション クラスが追加されますが、後でレンダリングされるだけです。この考え方は正しいでしょうか?render実際のコンポーネントを返すときにコンポーネントをアニメーション化するにはどうすればよいですか?

4

3 に答える 3

6

ReactCSSTransitionGroup は、コンポーネントがその に追加および削除されるたびにアクティブになりますprops.childrenrender()コンポーネントはデータをフェッチする前にマウントされるため、データがフェッチされた後は何も起こりません (コンポーネントのメソッドが false を返す場合でも、これは正しいと思います。間違っている場合はコメントでお知らせください)。

ここに解決策があります

<div key="1">反応クラスがデータを受け取るまで、コンポーネントをマウントしないでください (ソリューションではタグです)。コンポーネントでコンポーネントの状態を使用して、非同期リクエストの状態を追跡します。

于 2015-03-03T11:37:28.503 に答える
1

ReactCSSTransitionGroup は、デフォルトの動作が span 要素でタグをラップすることであるため、テーブルではうまく機能しません。独自のコンポーネントを提供することもできますが、ソリューションは非常に重く複雑であることがわかりました。

コンテンツが変更されるたびに React コンポーネントをアニメーション化できる別のアプローチがあります。アニメーションは、2 つの重複する CSS スタイルを切り替えることによって継続的にトリガーされます。

于 2016-02-01T10:21:35.403 に答える