componentDidMount
ライフサイクルメソッドでクリックイベントを持つコンポーネントがあります。コンポーネントのアップデート時にDOM要素をクリック
コンポーネントのレンダリングがトリガされるたびにdivをクリックする必要があります。
私の問題は、componentDidMount
が1回だけ発生し、コンポーネントが再レンダリングされたときに、クリックイベントが発生しないことです。
クリックイベントが機能する他のライフサイクルメソッドが見つかりませんでした。
これは他の方法でも可能ですか?
クリック方法:
componentDidMount() {
this.setState({
audioPlayer: ReactDOM.findDOMNode(this.refs.audio)
},() => {
this.state.audioPlayer.ontimeupdate =() => { this.timeUpdated() };
this.state.audioPlayer.onprogress =() => { this.progressUpdated() };
if(this.props.playing) {
this.divElement.click();
}
});
}
参照のdiv:
<div className='player__control__icons--play'>
<div ref={div => this.divElement = div} className='player__control__icon' onClick={this.togglePlay.bind(this)}>
<Play />
</div>
{skipButtons}
</div>
https://reactjs.org/docs/react-component .html#componentdidupdateそのメソッドは、あなたが欲しいものでなければなりません – Jayce444