javascript - 动画比例反应
问题描述
我正在尝试为我的反应组件的规模设置动画。它看起来相当简单,这基本上是在React-Motion示例中正确的:
var component = () => {
let style = { scale: spring(1.1, presets.wobbly)};
return (
<Motion style={style}>
{value =>
<div
style={{
backgroundColor: 'purple',
height: '50%', width: '50%',
transform: `scale(${value.scale})`,
WebkitTransform: `scale(${value.scale})`,
}}>
</div>
}
</Motion>
);
}
但由于各种原因,该组件不断消失或无法正常显示。如何让这个组件的比例正确地设置动画?
解决方案
您不想使用 value.scale,而只想使用 value。此外,为了提高可读性,您可以使用 scale 而不是 value 作为参数。查看这篇文章以获得一个简单的例子
var component = () => {
let defaultStyle = {scale: 0};
let style = { scale: spring(1.1, presets.wobbly)};
return (
<Motion defaultStyle={defaultStyle} style={style}>
{({scale}) =>
<div
style={{
backgroundColor: 'purple',
height: '50px', width: '50px',
transform: `scale(${scale})`,
WebkitTransform: `scale(${scale})`,
}}>
</div>
}
</Motion>
);
}
推荐阅读
- swift - 如何写下缩短的 if 条件?
- git - 克隆更新的存储库?
- javascript - getElementsByClassName 在条件下不起作用
- netsuite - Netsuite 2.0 Rest API 调用在获取自定义段字段时出错
- java - ResultSet 已关闭,仅打印第一个“SUBKATEGORI”
- google-app-engine - 允许 Cloud NAT 与 App Engine 防火墙通信
- ios - 从 XIB 加载视图作为滚动视图的子视图
- php - 数天“忘记”最后一天
- canvas - 从 html 转换为画布时的高图表模糊
- android - 我正在尝试将图像上传到远程 tomcat 服务器。但我收到错误