我是 React 的新手。我制作了一个带有按钮和图像网址列表的小应用程序。单击按钮时,图像 url 将添加到列表中。.map
我使用标准函数渲染图像 url 列表。
我想在显示图像时制作一个快速的 ui 动画效果:淡入和从左侧滑入的组合。我尝试了 Velocity.js 并找到了velocity-react
包装器。但我无法理解如何使用它。“标准”velocity-animate
库也是如此。
什么是最好的?velocity-react
,velocity-animate
还是别的什么?我该怎么做?
JSX
<div className="row">
{
this.state.images.map( (image, index) => { return this.renderThumb(image, index); } )
}
</div>
renderThumb 函数
renderThumb(image, index) {
return (
<div ref="tweetImage" key={`image-${index}`} className="col-xs-3 tweetImage">
<img className="img-thumbnail" src={image} alt="my pic"/>
</div>
);
}
速度反应
我试图<img>
像这样将动画不透明度从 0 包装到 1(从 docs 复制):
<VelocityComponent animation={{ opacity: 1 }} duration={ 500 }>
<img className="img-thumbnail" src={image} alt="my pic"/>
</VelocityComponent
我不断收到此错误:
警告:React.createElement:类型无效 - 期望字符串(对于内置组件)或类/函数(对于复合组件)但得到:对象
两者都没有运气ReactCSSTransitionGroup
(如下面的建议)。显示图像但没有动画:
renderThumb(image, index) {
return (
<div ref="tweetImage" key={`image-${index}`} className="col-xs-3">
<ReactCSSTransitionGroup
transitionName="example">
<img className="img-thumbnail" src={image} alt="Ole Frank Jensen"/>
</ReactCSSTransitionGroup>
</div>
);
}
解决了:
我移到<ReactCSSTransitionGroup transitionName="example">
了褪色组件之外,瞧 :-)
使成为()
<div className="row">
<ReactCSSTransitionGroup transitionName="example">
{
this.state.images.map( (image, index) => { return this.renderThumb(image, index); } )
}
</ReactCSSTransitionGroup>
</div>
渲染拇指()
renderThumb(image, index) {
return (
<div key={`image-${index}`} className="col-xs-3">
<img className="img-thumbnail" src={image} alt="Ole Frank Jensen"/>
</div>
);
}