React Base Fiddle (JSX)
Starting point for creating JSFiddles with React. This uses React with Addons.
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.js"></script>
<script src="https://fb.me/react-with-addons-0.14.6.js"></script>
<script src="https://fb.me/react-dom-0.14.6.js"></script>
<script src="https://facebook.github.io/react/js/jsfiddle-integration-babel.js"></script>
<div id="container">
<!-- This element's contents will be replaced with your component. -->
</div>
CSS
@keyframes highlight-green-fade {
0% { background: #15F700; }
100% { background: transparent; }
}
.node-status-enter.node-status-enter-active { animation: highlight-green-fade 1.5s ease-out; }
@keyframes highlight-fade-remove {
0% { background: #ff0000; }
100% { background: transparent; display: none; }
}
.node-status-leave.node-status-leave-active { animation: highlight-fade-remove 1.5s ease-out; }
JavaScript 1.7
var Hello = React.createClass({
getInitialState: function() {
return {
items: ['a', 'b', 'c', 'd', 'e']
};
},
addItem: function() {
var items = this.state.items;
items.push(items.length);
this.setState({items: items});
},
removeItem: function() {
var items = this.state.items;
items.shift();
this.setState({items: items});
},
render: function() {
var children = this.state.items.map(item => {
return <Item key={item} item={item}/>;
});
return (
<div>
<button type="button" onClick={this.addItem}>Add</button>
<button type="button" onClick={this.removeItem}>Remove</button>
<React.addons.CSSTransitionGroup transitionName="node-status" transitionEnterTimeout={1500} transitionLeaveTimeout={1500}>
{children}
</React.addons.CSSTransitionGroup>
</div>
);
}
});
var Item = React.createClass({
render: function() {
return <div>{this.props.item}</div>;
}
});
ReactDOM.render(
<Hello name="World" />,
document.getElementById('container')
);