未捕获的错误:[Elements]不是
<Route>
组件.所有组件<Routes>
岁的子元素必须是<Route>
分或<React.Fragment>
分
我甚至试着用Fragment
我也在使用受保护的路由.
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>
);
};