rotate
& scale
のためには、tagged template literals${ expresion }
を使用することができます。
私は、
<Motion
defaultStyle={{ rotate: 0, scale: 1}}
style={{ rotate: spring(180), scale: spring(3)}}
>
{style =>
(
<div style={{
transform: `rotate(${style.rotate}deg)`,
transform: `scale(${style.scale}, ${style.scale})`
}}> </div>
)
}
</Motion>
予告インタラクティブなアニメーションのためにバッククォート
の使用をお見せリアクトせはDOMにアクセスするには非常に良好であり、Mouse Eventsが含まSyntheticEventsを使用しています。
onClick onContextMenu onDoubleClick onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp
はここdiv
のない事前に定義された寸法がないので、今、これは何も表示されませんsetState
import React, { Component } from 'react'
import { Motion, spring } from 'react-motion'
class App extends Component {
state = {
rotate: 0
}
enter(){
this.setState({rotate: 180})
}
leave(){
this.setState({rotate: 0})
}
render(){
return (
<Motion
defaultStyle={{ rotate: 0}}
style={{ rotate: spring(this.state.rotate)}}
>
{style =>
(
<div
style={{
transform: `rotate(${style.rotate}deg)`,
}}
onMouseEnter={this.enter.bind(this)}
onMouseLeave={this.leave.bind(this)}
> </div>
)
}
</Motion>
)
}
}
export default App
を使用してマウスホバー例です。これを行うには、styles
オブジェクトを宣言しましょう。
import
ライン
const styles = {
div: {
height: 100,
width: 100,
backgroundColor: 'papayawhip'
}
}
以下
そうのような、あなたがそれを使用することができます。特定の製品/リソースの
style={ Object.assign({},
styles.div,
{
transform: `rotate(${style.rotate}deg)`,
// more styles here...
})
}
過度のプロモーションは**として、コミュニティによって知覚することができますスパム**。 [ヘルプ]を見てください。特に、[どのような振る舞いがユーザに期待されていますか?](// stackoverflow.com/help/behavior)最後のセクション:_明らかな自己昇進を避けてください。また、[スタックオーバーフローの宣伝方法は?](// stackoverflow.com/help/advertising)にも興味があります。 –
削除していただきありがとうございます。私は実際に私の答えを編集するために戻った。 – phtn458