Path: blob/1.0-develop/resources/scripts/TransitionRouter.tsx
7460 views
import React from 'react';1import { Route } from 'react-router';2import { SwitchTransition } from 'react-transition-group';3import Fade from '@/components/elements/Fade';4import styled from 'styled-components/macro';5import tw from 'twin.macro';67const StyledSwitchTransition = styled(SwitchTransition)`8${tw`relative`};910& section {11${tw`absolute w-full top-0 left-0`};12}13`;1415const TransitionRouter: React.FC = ({ children }) => {16return (17<Route18render={({ location }) => (19<StyledSwitchTransition>20<Fade timeout={150} key={location.pathname + location.search} in appear unmountOnExit>21<section>{children}</section>22</Fade>23</StyledSwitchTransition>24)}25/>26);27};2829export default TransitionRouter;303132