Как сделать элементы анимированными при изменении состояния на setInterval
? Попытка визуализации элементов в случайном месте и попытаться оживить изменения положения следующим образом:Как сделать ReactCSSTransitionGroup анимировать элементы на setState?
var Elem = React.createClass({
render: function() {
return (
<h1 className="elem">
Hello, {this.props.name} !
</h1>
);
}
});
var MainContainer = React.createClass({
componentDidMount: function() {
setInterval(this.shf, 777);
},
getInitialState: function() {
return {source: []};
},
shf: function() {
var source = this.props.source.sort(function() {
return .5 - Math.random();
});
this.setState({
source: source
});
},
render: function() {
var ReactCSSTransitionGroup = React.addons.CSSTransitionGroup;
var Elems = this.state.source.map(function (elem, i) {
return (
<ReactCSSTransitionGroup key={i * 10}
transitionName="example"
transitionAppear={true} transitionAppearTimeout={500}
transitionEnter={true} transitionLeave={true}>
<Elem key={i} number={i} name={elem}/>
</ReactCSSTransitionGroup>
);
}, this);
return (
<div>
{Elems}
</div>
);
}
});
ReactDOM.render(<MainContainer source={["bill", "bob", "sam", "john", "smith"]}/>,
document.getElementById('container'));
CodePen связь со стилями: http://codepen.io/anon/pen/ZOQmJX
Он анимировать на оказание в первый раз, но не на каждом штате изменений , как его достичь?
Немного объяснений никогда не бывает плохо ... – idmean
спасибо, но это не делало элементы анимации на повторный рендеринг с помощью 'this.shf()' –