<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Aditya</title>
    <description>The latest articles on Forem by Aditya (@adityavarma1615).</description>
    <link>https://forem.com/adityavarma1615</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1442374%2F34098bd3-fa18-47af-b5c0-88ed5fb98075.png</url>
      <title>Forem: Aditya</title>
      <link>https://forem.com/adityavarma1615</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/adityavarma1615"/>
    <language>en</language>
    <item>
      <title>Need help in React Page transition</title>
      <dc:creator>Aditya</dc:creator>
      <pubDate>Mon, 22 Apr 2024 17:34:59 +0000</pubDate>
      <link>https://forem.com/adityavarma1615/need-help-in-react-page-transition-657</link>
      <guid>https://forem.com/adityavarma1615/need-help-in-react-page-transition-657</guid>
      <description>&lt;p&gt;The page transition is not happening as expected, the navigation component is rendering before the animation begins. How can I avoid this. Please suggest&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const loginRouter = createBrowserRouter([
  { path: "/login", element: &amp;lt;Login /&amp;gt; },
  {
    path: "/home",
    element: (
      &amp;lt;Transition&amp;gt;
        &amp;lt;Profile /&amp;gt;
      &amp;lt;/Transition&amp;gt;
    ),
    errorElement: &amp;lt;SomethingWrong /&amp;gt;,
    children: [
      {
        index: true,
        element: (
          &amp;lt;Suspense fallback="loading"&amp;gt;
            &amp;lt;Home /&amp;gt;
          &amp;lt;/Suspense&amp;gt;
        ),
        loader: moviesList,
        errorElement: &amp;lt;NotFound /&amp;gt;,
      },
       {
        path: ":category",
        loader: fetchAllMoviesFromCategory,
        element: (
          &amp;lt;Suspense fallback="loading"&amp;gt;
            &amp;lt;ListOfMovies /&amp;gt;
          &amp;lt;/Suspense&amp;gt;
        ),
      },
    ],
  },
]);
function App() {
  console.log("App.js");
  return &amp;lt;RouterProvider router={loginRouter} /&amp;gt;;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Transition.js&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const transitionVariants = {
  initial: {
    opacity: 0,
  },
  animate: {
    opacity: 1,
    transition: { duration: 0.5, delay: 0.7 },
  },
  exit: {
    opacity: 0,
    transition: { duration: 0.5 },
  },
};

function Transition({ children }) {
  const location = useLocation();
  return (
    &amp;lt;AnimatePresence mode="wait"&amp;gt;
      &amp;lt;motion.div
        key={location.pathname}
        variants={transitionVariants}
        initial="initial"
        animate="animate"
        exit="exit"
      &amp;gt;
          {children}
      &amp;lt;/motion.div&amp;gt;
    &amp;lt;/AnimatePresence&amp;gt;
  );
}

export default Transition;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>react</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
