javascript - 使用 react-router 时如何渲染新页面
问题描述
这是react -router-shoe-store-app 的代码发送框,它不能完美运行。当我单击每只鞋时,它不会呈现新页面,而是会更改 url 但不会更改整个 dom,只需在页面的右侧和底部进行更改。
解决方案
你几乎有小问题。你需要Switch
代替Routes
和component
道具而不是element
道具。进行了以下更改,并让您的项目在codesandbox上运行。
您需要将 App.js 更改为:
import React from "react";
import { Home } from "./Components/Home/Home";
import { ShoesBrandLaunch } from "./Components/ShoeDetails/ShoesBrandLaunch";
import { ShoeLaunch } from "./Components/ShoeDetails/ShoeLaunch";
import { BrowserRouter as Router, Route, Switch } from "react-router-dom";
function App() {
return (
<Router>
<Switch>
<Route exact path="/" component={Home} />
<Route path="/nike" component={ShoesBrandLaunch}>
<Route path=":slug" component={ShoeLaunch} />
</Route>
</Switch>
</Router>
);
}
export default App;
推荐阅读
- github - GitHub 存储库(如何运行)
- mongodb - MongoDB 不断崩溃——是内存不足还是 CPU 不足?
- tensorflow - Tensorflow 2.3 管道将所有数据加载到 RAM
- c - SocketCAN如何在不丢失数据的情况下尽快发送消息
- firebase - Firebase 聊天消息排序不正确
- react-native - React Native 是否有任何 SIP (VoIP) 客户端库?
- java - 如何处理java对象堆VM?
- php - Laravel 的 belongsTo 关系返回空对象
- c++ - 哪一行导致“操作员==”错误
- python - 如何在python中使用无穷大