2016-08-14 14 views
0

2つの他のコンポーネントを受け取る反応コンポーネントがあります。最初のコンポーネントは常にレンダリングされ、2番目のコンポーネントはコンポーネントが選択されている場合に限り表示されます。レンダリング直後のコンポーネントのアニメーション

ExpandableItem:

const propTypes = { 
    header: PropTypes.element.isRequired, 
    content: PropTypes.element.isRequired, 
    isSelected: PropTypes.bool.isRequired 
}; 

export default class ExpandableItem extends React.Component { 
    render() { 
     return (<li> 
      {this.props.header} 
      {this.props.isSelected && this.props.content} 
     </li>); 
    } 
} 

ExpandableItem.propTypes = propTypes; 

とコンテンツが表示されたときに、コンポーネントの高さがはるかに大きくなり、私はそれがアニメーションになりたいです。

どうすればいいですか?

+1

CSSクラスで@keyframesと@ -moz-keframesを使わないのでしょうか? –

答えて

0

なぜあなたは[ `ReactCSSTransitionGroup`](https://facebook.github.io/react/docs/animation.html)に見たことが

+0

それを試して失敗しました、あなたは例を挙げることができますか? – Pachu

+0

あなたのコンポーネントにcss-classを追加してください。たとえば "my-component" あなたのCSSファイルに次のものを追加してください: .my-component { animation:myAnim 0.3s ease; アニメーション塗りつぶしモード:転送; オーバーフロー:非表示。 } @keyframes myAnim { 0%{ 高さ:0; } 100%{ 高さ:auto; } } – kiarashws

関連する問題