Начиная с состояния, в котором отображается Products
.
Я хочу, чтобы Products
и выше выходили с анимацией, а ProductDetailPhotos
появлялось при нажатии NavLink to={'/product-detail/' + variant.id}
, который существует в представлении Products
,однако, сначала Products
выше заменяется новым ProductDetailPhotos
, а после него появляется новый ProductDetailPhotos
.
<TransitionGroup component="main" className="page-main">
<CSSTransition key={location.pathname} timeout={timeout} classNames="fade" appear>
<Switch location={location}>
<Route exact path={'/'} component={ () =>
<Products
productsArray={this.state.myProductsArray}
client={this.props.client}
/>
}/>
<Route path='/product-detail/:variantId' render={props =>
<ProductDetailPhotos
products={this.state.products}
client={this.props.client}
addVariantToCart={this.addVariantToCart}
{...props}
/>
}/>
<Route component={NotFoundPage} />
</Switch>
</CSSTransition>
</TransitionGroup>
Я объясняю фактические временные ряды, как показано ниже:
Products DOM
отображается - Нажмите NavLink для / product-detail
Products DOM
изменяется на ProductDetailPhotos 1 DOM
с классами исчезновения-выхода немедленно, затем ProductDetailPhotos 2 DOM
с классами исчезновения появляется ProductDetailPhotos 1 DOM
и ProductDetailPhotos 2 DOM
запускают анимацию с помощью CSS.ProductDetailPhotos 1 DOM
оживляет для выхода и ProductDetailPhotos 2 DOM
делает для входа. ProductDetailPhotos 1 DOM
наконец исчезает
Мои ожидания ниже:
Products DOM
отображается - Нажмите NavLink для / product-detail
ProductDetailPhotos DOM
сначала отображается с исчезающими классами - Затем
Products DOM
начинает анимацию для выхода из CSS склассы исчезновения и ProductDetailPhotos DOM
тоже с классами исчезновения.
Спасибо.