I am using useState() to load some data before the component is mounted.
const [leaderboardData, setLeaderboardData] = useState([]);
const [featuredSelectedItem, setSelectedItem] = useState({});
useEffect(() => {
let dummyData = [
..someData
]
//Order based on standings
dummyData.sort((a, b) => {
return a.current_season_standing - b.current_season_standing;
});
dummyData[0].active = true;
setSelectedItem(dummyData[0]);
setLeaderboardData(dummyData);
}, []);
My component is wrapped in a Transition group.
<div className="d-flex h-100 home_container">
<TransitionGroup className="p-5 flex-1 home_selected_user">
<SwitchTransition>
<CSSTransition
key={featuredSelectedItem.id}
timeout={500}
classNames="featuredItem"
>
<div>
<img src="https://via.placeholder.com/150" alt={featuredSelectedItem.name} />
<h1>{featuredSelectedItem.name}</h1>
<p>Rank: {featuredSelectedItem.current_season_standing}</p>
<p>Country: {featuredSelectedItem.country}</p>
<p>Handicap: {featuredSelectedItem.handicap}</p>
<p>Wins: {featuredSelectedItem.wins}</p>
<p>View Player Profile</p>
</div>
</CSSTransition>
</SwitchTransition>
</TransitionGroup>
<div className="home_leaderboard p-4 flex-1">
<Leaderboard activeHandler={activeLeaderboardHandler} data={leaderboardData}></Leaderboard>
</div>
</div>
On page load the component loads with no data then animates once the data is loaded onto the component. My goal is for the data to be loaded on the component before the page is loaded so the transition does not trigger?