JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://fb.me/react-with-addons-0.12.0.js"></script>
<script src="http://fb.me/JSXTransformer-0.12.0.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.6/react.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.6/react-dom.js">
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.1/react-with-addons.js"></script>
<div id="container">
<!-- This element's contents will be replaced with your component. -->
</div>
CSS
.sample-enter {
-webkit-transition: 1s ease-in;
}
.sample-enter.sample-enter-active {
font-size: 80px;
}
.sample-leave {
-webkit-transition: .5s ease-out;
}
.sample-leave.sample-leave-active {
font-size: 10px;
}
React
var CSSTransitionGroup = React.addons.CSSTransitionGroup;
var Hello = React.createClass({
getInitialState: function() {
return {
value: '(´・ω・`)'
};
},
onClick: function() {
var value = this.state.value === '(´・ω・`)' ? '(`・ω・´)ゞ' : '(´・ω・`)';
this.setState({ value: value });
},
render: function() {
var value = <span className="sample" key={this.state.value}>{this.state.value}</span>;
return (
<div>
<div>Animation!!<button onClick={this.onClick}>click!!</button></div>
<CSSTransitionGroup transitionName="sample">
{value}
</CSSTransitionGroup>
</div>
);
}
});
React.render(<Hello />, document.body);