У меня есть кнопка в компоненте приложения, если я нажимаю на эту кнопку, я получаю следующий элемент в массиве в компоненте, но проблема в том, что переход с постепенным проявлением работает только для первого элемента, а не для следующего элемента. как я могу позволить плавному переходу работать для следующих элементов?
Мой код:
import React, { Component } from 'react';
import FadeIn from 'react-fade-in';
class App extends Component {
constructor(props){
super(props);
this.state = {indexTeam:0}
}
nextTeam=() => {
this.setState({ indexTeam: (this.state.indexTeam + 1) % teamList.length });
};
render() {
const teams = teamList[this.state.indexTeam];
return (
<div>
<FadeIn><h3>{teams.name}</h3></FadeIn>
<br/>
<button onClick = {this.nextTeam}>Next Team</button>
</div>
);
}
}
const teamList = [
{
name: "1- Manchester United"
},
{
name: "2- Fc Barcelona"
},
{
name: "3- Inter Milan"
},
{
name: "4- Liverpool"
}
];
export default App;





Не используйте эту библиотеку. Он делает именно то, что должен, постепенно исчезает в элементах один за другим, когда компонент (страница в вашем случае) монтируется, но вам нужен ваш переход при каждом повторном рендеринге
Если вы просмотрите библиотеку, которую вы используете (response-fade-in), вы заметите, что она переустанавливает свое состояние на componentDidMount, поэтому оно не работает, когда вы устанавливаете состояние (так что просто повторно визуализируйте его, а не размонтируйте и смонтируйте снова).
Я не придумал быстрого решения, как исправить или переписать эту библиотеку, так что подумайте о своей.
Просмотрите их реализацию (которая просто основана на переходе css) и создайте свое решение.
реакция-плавное появление: https://github.com/gkaemmer/react-fade-in/blob/master/src/FadeIn.js