0
配列からマップされたイメージがスクロールされると、そのイメージの座標で状態が更新され、Google Mapが更新されるように設定しようとしています。マップされた配列のOnScrollイベントリスナーに反応する
<CloudinaryContext cloudName="hcjmhcjf" fetchFormat="auto">
<div className="image-holder">
{displayImages.map((displayImage, i) => {
return (
<div
className="responsive"
key={i}
ref="img"
onScroll={this.handleScroll(this.state.images[i].location)}>
<div className="img">
<a
target="_blank"
href={`http://res.cloudinary.com/gdbdtb/image/upload/${displayImage}.jpg`}>
<Image publicId={displayImage} responsive style={{width: '100%'}}>
<Transformation crop="scale" width="auto" responsive_placeholder="blank" />
</Image>
</a>
</div>
</div>
);
})}
</div>
</CloudinaryContext>
私は、次のライフサイクルメソッドを設定し、いくつかの他の質問を読んから:
componentDidMount() {
const imgDiv = ReactDOM.findDOMNode(this.refs.img)
imgDiv.addEventListener('scroll', this.handleScroll);
}
componentWillUnmount() {
const imgDiv = ReactDOM.findDOMNode(this.refs.img)
imgDiv.removeEventListener('scroll', this.handleScroll);
}
しかし、ReactDOM.findDOMNode(this.refs.img)
はいつも私が
undefined
を返します。
handleScroll(location) {
this.setState({
center: location
})
}
と地図を更新してください。 ific画像がスクロールされますか?
あなたの要件を明確にしてくださいことはできますか?私は次のことを理解していませんでした: "配列からマップされた画像がスクロールされると、状態はその画像の座標で更新されます" –
@MatthewBarbaraしたがって、Googleマップに隣接する画像の配列を持っています。最初のレンダリングでは、Googleマップは最初の画像の座標の中央に配置されます。私が望むのは、画像がスクロールされるときに、Googleマップがそのスクロールされた画像上に再センタリングすることです。 –
codepenまたはjsfiddleに問題を置くことはできますか?問題を理解しやすくなります –