В моем приложении React
я использую fullpage.js
для рендеринга двух слайдов, содержащих два разных компонента.Я хочу запустить функцию внутри одного из них, только когда это активный слайд.Я попробовал приведенный ниже код, но после изменения состояния вся ReactFullpage
перерисовывается, и первый слайд снова становится активным, поэтому я в основном застрял в цикле.
У меня вопрос, как я могу это сделать?запустить функцию внутри компонента <Player />
, только если это активный слайд?
import React from "react";
import ReactFullpage from "@fullpage/react-fullpage";
import AlbumInfo from './AlbumInfo';
import Player from './Player';
class Album extends React.Component {
constructor(props){
super(props);
this.state={
playing: false
}
}
_initPlayer = (currentIndex, nextIndex) => {
if(nextIndex.index === 1) {
this.setState({playing:true})
}
}
render() {
return (
<ReactFullpage
licenseKey='xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx'
sectionsColor={["#000000"]}
afterLoad={this._initPlayer}
render={({ state, fullpageApi }) => {
return (
<div id="fullpage-wrapper">
<div className="section">
<AlbumInfo />
</div>
<div className="section">
<Player playing={this.state.playing} />
</div>
</div>
);
}}
/>
);
}
}
export default Album;