0
ZoomedIn
が真の場合、常にthis.state.transform[ref]
が定義されます。 zoomedIn
が真である場合にのみ、zoomIn
を実行します。ここに私の関数は以下のようになります。関数からインラインでスタイルを条件付きで適用できますか?
zoomedIn() {
return ['zoomIn', 'addBg', 'zoom', 'removeBg'].includes(this.props.zoom)
}
zoomIn (ref) {
if (this.zoomedIn()) {
const transform = this.state.transform[ref]
if (transform.scale > 1.1) {
return {
transform: 'translateY(' + transform.offset + 'px) scale(' + transform.scale + ')'
}
}
}
}
<div ref='carousel'
className='carousel' style={{
...this.zoomIn('carousel')
}}
>
私が代わりにこれを行うことを試みたが、それはstate.transformが定義されていないと文句を言い。
zoomedIn() {
return ['zoomIn', 'addBg', 'zoom', 'removeBg'].includes(this.props.zoom)
}
zoomIn (ref) {
const transform = this.state.transform[ref]
if (transform.scale > 1.1) {
return {
transform: 'translateY(' + transform.offset + 'px) scale(' + transform.scale + ')'
}
}
}
<div ref='carousel' className='carousel' style={{
...this.zoomedIn() && this.zoomIn('carousel')
}}
>
を? – Pineda
@Pinedaどうすればいいのでしょうか? – Himmators
以下のようにzoomedInから返された値に基づいてJSXを条件付きでレンダリングすることで、必要なものを実現できます。 – Pineda