Wie können Elemente animiert werden, wenn sich der Status durch setInterval
ändert? Der Versuch, Elemente in zufälliger Position zu machen und versuchen, Positionsänderungen zu animieren, wie folgend:Wie man ReactCSSTransitionGroup animiert Elemente auf 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 Verbindung mit Stile: http://codepen.io/anon/pen/ZOQmJX
Es ist auf Rendern das erste Mal, Animieren, aber nicht auf den jeder Staat Änderungen , wie erreiche ich das?
Ein bisschen Erklärung ändern ist nie schlecht ... – idmean
Dank, aber das hat noch kein Element animiert erneute Rendern über 'this.shf()' –