admin管理员组文章数量:1401241
I'm trying to create a dashboard structure, with redirect on button click to different ponents.
I am able to do the URL change, but still the page doesn't load without a hard reload on that url.
My code as Below : Navigate.JS
import React from 'react';
import {
BrowserRouter as Router,
Switch,
Route,
} from "react-router-dom";
import SalesDashBoard from "./salesDashBoard";
import OrderScreen from "./OrderScreen";
function SDNavigator(){
return(
<div>
<Router>
<Switch>
<Route exact path="/salesDesk" ponent={SalesDashBoard}/>
<Route exact path="/salesDesk/OrderScreen" ponent={OrderScreen}/>
</Switch>
</Router>
</div>
)}
export default SDNavigator;
SalesDashBoard.js
import React from 'react';
import {BrowserRouter as Router, Link} from "react-router-dom";
import Button from "@material-ui/core/Button";
function SalesDashBoard() {
return (
<Router>
<div>
<h3>Dashboard Links</h3>
<Button
ponent={Link} to="/salesDesk/OrderScreen"
variant="contained"
color="primary"
type="submit"
>
Login
</Button>
</div>
</Router>
)
}
export default SalesDashBoard;
OrderScreen.js
import React from 'react';
function OrderScreen() {
return (
<div Order Screen />
);
}
export default OrderScreen;
The page is loading when reload after the click is done and URL is changed, without reloading its still showing the Dashboard page.
PS : I have already routing this from App.js -> DashBoard.js, Thats working fine.
I'm trying to create a dashboard structure, with redirect on button click to different ponents.
I am able to do the URL change, but still the page doesn't load without a hard reload on that url.
My code as Below : Navigate.JS
import React from 'react';
import {
BrowserRouter as Router,
Switch,
Route,
} from "react-router-dom";
import SalesDashBoard from "./salesDashBoard";
import OrderScreen from "./OrderScreen";
function SDNavigator(){
return(
<div>
<Router>
<Switch>
<Route exact path="/salesDesk" ponent={SalesDashBoard}/>
<Route exact path="/salesDesk/OrderScreen" ponent={OrderScreen}/>
</Switch>
</Router>
</div>
)}
export default SDNavigator;
SalesDashBoard.js
import React from 'react';
import {BrowserRouter as Router, Link} from "react-router-dom";
import Button from "@material-ui/core/Button";
function SalesDashBoard() {
return (
<Router>
<div>
<h3>Dashboard Links</h3>
<Button
ponent={Link} to="/salesDesk/OrderScreen"
variant="contained"
color="primary"
type="submit"
>
Login
</Button>
</div>
</Router>
)
}
export default SalesDashBoard;
OrderScreen.js
import React from 'react';
function OrderScreen() {
return (
<div Order Screen />
);
}
export default OrderScreen;
The page is loading when reload after the click is done and URL is changed, without reloading its still showing the Dashboard page.
PS : I have already routing this from App.js -> DashBoard.js, Thats working fine.
Share Improve this question asked Apr 15, 2020 at 6:17 Bubashan_kushanBubashan_kushan 3928 silver badges26 bronze badges 2-
You shouldn't have a
<Router />
wrapping every one of your ponents. It should only be at the top level of your ponent tree. That's your issue; the link inSalesDashBoard.js
is associated with the router closest in the virtual DOM tree, and that router literally has no routes. – 101arrowz Commented Apr 15, 2020 at 6:21 - Thanks @101arrowz, Now i found the logical issue and the solution – Bubashan_kushan Commented Apr 15, 2020 at 6:36
1 Answer
Reset to default 8Try this
function SalesDashBoard() {
return (
// Remove Router
<div>
<h3>Dashboard Links</h3>
<Button
ponent={Link} to="/salesDesk/OrderScreen"
variant="contained"
color="primary"
type="submit"
>
Login
</Button>
</div>
)
}
本文标签: javascriptReact doesn39t render without Reloading the page on URL ChangeStack Overflow
版权声明:本文标题:javascript - React doesn't render without Reloading the page on URL Change - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744216937a2595681.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论