- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 React.js 创建一个彩票应用程序。有一个 SVG 格式的纺车。您可以旋转一个轮子,它会平稳地停在给定的位置(我的应用程序将其设为随机位置)。
我把轮子变成了一个 React.js 组件,你可以这样使用:
<Wheel items={items} fullSpins={5} angle={0} />
参数是:
我希望任何其他组件都能够旋转轮子,所以我假设类似 React.js 的方法是在属性更改时执行此操作。当 angle
改变时,我会设置 transform: rotate(Xdeg)
,其中 X 是 current angle + fullSpins * 360 + angle
。使用 transition-property: transform
它可以平滑地旋转。
我不确定如何用 React 方式处理它。通常我会考虑一种只传递给轮子的方法,但旋转是轮子本身的内部行为。完美地,它只会旋转 angle
属性更新。但是,如果我想将它旋转到相同的位置怎么办,比如当连续两次决定在 90.0 度 Angular 停止时?
我应该使用 componentWillReceiveProps()
吗?如果是这样,当先前的 Angular 相同时,如何知道是否实际请求了新的旋转?
最佳答案
您可以使用 componentDidUpdate()
检查 props 是否已更改,然后相应地调用您的自旋函数。
像这样:
class Wheel extends Component {
componentDidUpdate(prevProps){
if(prevProps.angle !== this.props.angle) this.spinFunction()
}
spinFunction(){
// update transform: rotate(Xdeg) etc here
}
}
关于javascript - React.js 中的纺车,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49508433/
我遇到了一个大问题,我的一些用户出现了奇怪的崩溃。在启动我的应用程序时,在启动屏幕之前或之后,他们会看到一个带有旋转轮的黑屏。之后设备被锁定,应用程序关闭。 除了 Xcode 8.3 和 iOS 10
我正在开发一个将在 iOS 设备和台式机(无触摸)上使用的网络应用程序。我们正在使用 Bootstrap 使网站尽可能响应。 我们想要整合 iOS 中已知的纺车。我们将以不同的方式设计它,但不会改变其
找不到它的调用方式和弹出方式。 我的 CF 应用程序正在使用 Web 服务通过 Web 进行通信。想要向我的用户显示一些“繁忙的事件”对话框。 关于如何显示 WinMo 中的默认值有什么建议吗? 最佳
我正在用 Node.js 构建一个 Web 应用程序,并使用 Socket.IO 处理客户端和服务器端之间的数据传输。 我的 Web 应用程序的核心部分是内容提要。我的客户端 Javascript 为
我是一名优秀的程序员,十分优秀!