Uncaught Error: [Elements] is not a
<Route>component. All component children of<Routes>must be a<Route>or<React.Fragment>
I even tried to use Fragment
I am also using the protected route.
const App = () => {
const { isAuthenticated, user } = useSelector((state) => state.user);
const [stripeApiKey, setStripeApiKey] = useState();
async function getStripeApiKey() {
const { data } = await axios.get("/api/v1/stripeapikey");
setStripeApiKey(data.stripeApiKey);
}
useEffect(() => {
WebFont.load({
google: {
families: ["Roboto", "Droid Sans", "Chilanka"],
},
});
store.dispatch(loadUser());
getStripeApiKey();
}, []);
return (
<div className="App">
<BrowserRouter>
<Header />
<Routes>
<Route path="/about" element={<About />} exact />
<Route element={<ProtectedRoute />}>
<Route path="/account" element={<Profile />} exact />
{/* {stripeApiKey && (
<Elements stripe={loadStripe(stripeApiKey)}>
<Route exact path="/process/payment" element={<Payment />} />
</Elements>
)} */}
</Route>
<Route path="/password/forgot" element={<ForgotPassword />} exact />
<Route
path="/password/reset/:token"
element={<ResetPassword />}
exact
/>
<Route path="/cart" element={<Cart />} exact />
</Routes>
<Footer />
</BrowserRouter>
</div>
);
};