Можно ли предотвратить размонтирование компонента во время модальных переходов страниц, анимированных с помощью CSSTransition? - PullRequest
1 голос
/ 09 мая 2019

Навигация к модальному маршруту и ​​от него login (LoginModal) базового компонента страницы list (List) не будет отключена. То, что хорошо.

Но завершение страницы List в CSSTransition всегда приводит к непреднамеренному отключению этого компонента List.

Даже в документации react-transition-group написано: По умолчанию дочерний компонент остается смонтированным после того, как он достигает состояния «завершено».

Я думаю, что это как-то связано с одновременно появляющимися и исчезающими компонентами.

Здесь вы можете увидеть заявленные маршруты:

...
<TransitionGroup>
  <CSSTransition
    key={location.key}
    classNames="fade"
    timeout={1000}
  >
    <div>
      <Switch location={location}>
        <Route exact path="/items/:id([0-9]+)" component={Item} />
        <Route path="/items" component={List} />
        <Route render={() => <div>Not Found</div>} />
      </Switch>
      <Route exact path="/items/login" component={LoginModal} />
    </div>
  </CSSTransition>
</TransitionGroup>
...

Без размонтирования без CSSTransition: https://codesandbox.io/embed/l57510x9jq

Нежелательные размонтирования с CSSTransition: https://codesandbox.io/embed/m0qo4xvwj

Есть ли способ предотвратить такое поведение и последующие перемонтирования и обработки вызовов?

...