Я изменяю свое className одного div каждые 3 секунды (с изменением состояния, используя setInterval).И у каждого класса разные фоновые изображения.
Я хочу постепенно увеличивать и уменьшать фоновые изображения всякий раз, когда они меняются, с помощью перехода css.Я видел несколько примеров для более простых случаев, но у меня есть более двух элементов для изменения / и изменения изображений с изменением состояния.
Как я могу это сделать?
Я загрузил свой код на:https://stackblitz.com/edit/react-ubxffz Но я не могу загрузить изображения на этой странице, поэтому временно заменил их на цвет фона на этой странице.
это компонент Image Slide.
const imgUrls = [
1,2,3
];
class ImageSlide extends Component {
render() {
const { url } = this.props;
const Text=...
return (
<div>
<div className={`pic${url}`}>
<p className="p1_1">{Text.p1_1}</p>
</div>
</div>
);
}
это компонент приложения, который вызывает ImageSlide.
class App extends Component {
constructor (props) {
super(props);
currentImageIndex: 0,
};
}
// ...
componentDidMount() {
this.interval = setInterval(() => {
this.nextSlide(); //this function change the index state.
}, 3000);
}
componentWillUnmount() {
clearInterval(this.interval);
}
// ...
<ImageSlide url={imgUrls[this.state.currentImageIndex]} />
это css для каждого класса, задающего фоновое изображение.
.pic1 {
background-image: url('images/img_01.png');
}
.pic2 {
background-image: url('images/img_02.png');
}
.pic3 {
background-image: url('images/img_03.png');
}