【发布时间】:2022-12-19 14:34:56
【问题描述】:
我正在做一个 React.js 项目,在这个当前项目中所有的 url 看起来像这样
Home page url:dev-pcm.io/mydomain-name
Login Page url:dev-pcm.io/mydomain-name/auth
cart Page url:dev-pcm.io/mydomain-name/checkout
Order Page url:dev-pcm.io/mydomain-name/my-orders
//Here if i have button i am redirecting to any other page like this
import {useParams,useHistory} from "react-router-dom"
const function Button()=>{
const params=useParams();
const history=useHistory();
//is there any good approach to get rid from these checks
const goto=()=>{
if (params?.url) {
history.push(`/${params.url}/my-orders`);
} else {
history.push(`/my-orders`);
}
};
return <button>
MY Order Page
</button>}
反应路由器路径
const Routes=[{
path: "/:url",
component: Home,
exact: true,
},
{
path: ["/:url/my-orders","/my-orders"],
component: MyOrders,
exact: true,
},
]
现在我有要求用户也想像这样支持 Url
Home page url:mydomain-name
Login Page url:mydomain-name/auth
cart Page url:mydomain-name/checkout
Order Page url:mydomain-name/my-orders
我如何支持这两个路由。
【问题讨论】:
-
React 应用程序从一个位置提供服务。您到底想做什么,从两个 URL 提供应用程序,或者更确切地说,托管应用程序的两个实例?您能否阐明您要解决的问题是什么?
-
@DrewReese-这是一项要求。用户也可以在不添加
dev-pcm.io/mydomain-name的情况下访问该应用程序。我必须支持多个网址