Reactjs 如何包装标签<;链接>;a<;路由器>;使用ConnectedRouter?
我不能交换路由器 index.js 在本项目中使用了Reactjs 如何包装标签<;链接>;a<;路由器>;使用ConnectedRouter?,reactjs,react-router,Reactjs,React Router,我不能交换路由器 index.js 在本项目中使用了ConnectedRouter ReactDOM.render( <Provider store={store}> <ConnectedRouter history={history}> <App /> </ConnectedRouter> </Provider>, document.getElementById('root') ); 不属于内
ConnectedRouter
ReactDOM.render(
<Provider store={store}>
<ConnectedRouter history={history}>
<App />
</ConnectedRouter>
</Provider>,
document.getElementById('root')
);
不属于
内部<代码>只是一个URL更改。使用它可以更改URL。
负责根据URL加载不同的组件
正如您现在所做的那样,在ConnectedRouter
中包装整个项目将允许您在任何地方使用
和
。您只需在开始时包装整个项目一次即可。但是ConnectedRouter
,简称Router
,在开始时需要一次。没有它,它就不会工作
现在,它似乎没有任何问题,在你的项目中。单击带有图像的按钮时,URL将更改为/
现在,如果您希望使用更改后的URL加载不同的组件,则需要有
,并在其中
指定要使用哪个URL加载的组件
下面是我在github上发现的一个基本示例,它不属于
中<代码>只是一个URL更改。使用它可以更改URL。
负责根据URL加载不同的组件
正如您现在所做的那样,在ConnectedRouter
中包装整个项目将允许您在任何地方使用
和
。您只需在开始时包装整个项目一次即可。但是ConnectedRouter
,简称Router
,在开始时需要一次。没有它,它就不会工作
现在,它似乎没有任何问题,在你的项目中。单击带有图像的按钮时,URL将更改为/
现在,如果您希望使用更改后的URL加载不同的组件,则需要有
,并在其中
指定要使用哪个URL加载的组件
下面是我在github上找到的一个基本示例要使用“useHistory()”,您使用的组件和页面必须位于路由器内部
import React from 'react';
import { BrowserRouter, Route, Switch } from 'react-router-dom';
import Footer from '~/components/commons/Footer';
import Header from '~/components/commons/Header';
import MenuHeader from '~/components/commons/MenuHeader';
import AboutPage from '~/pages/AboutPage';
import HomePage from '~/pages/HomePage';
import ShopPage from '~/pages/ShopPage';
import NotFoundPage from '~/routes/NotFound/NotFoundPage';
const routeComponents: React.FC = (props: Props) => {
return (
<div className="pg">
<BrowserRouter>
<Header />
<MenuHeader />
<div className="pg__pages">
<Switch>
<Route path="/" exact={true} component={HomePage} />
<Route path="/about" exact={true} component={AboutPage} />
<Route path="/shop" exact={true} component={ShopPage} />
<Route path="*" component={NotFoundPage} />
</Switch>
</div>
<Footer />
</BrowserRouter>
</div>
);
};
从“React”导入React;
从“react router dom”导入{BrowserRouter,Route,Switch};
从“~/components/commons/Footer”导入页脚;
从“~/components/commons/Header”导入标题;
从“~/components/commons/MenuHeader”导入MenuHeader;
从“~/pages/AboutPage”导入AboutPage;
从“~/pages/HomePage”导入主页;
从“~/pages/ShopPage”导入ShopPage;
从“~/routes/NotFound/NotFoundPage”导入NotFoundPage;
常量路由组件:React.FC=(道具:道具)=>{
返回(
);
};
要使用“useHistory()”,您使用的组件和页面必须位于路由器内部
import React from 'react';
import { BrowserRouter, Route, Switch } from 'react-router-dom';
import Footer from '~/components/commons/Footer';
import Header from '~/components/commons/Header';
import MenuHeader from '~/components/commons/MenuHeader';
import AboutPage from '~/pages/AboutPage';
import HomePage from '~/pages/HomePage';
import ShopPage from '~/pages/ShopPage';
import NotFoundPage from '~/routes/NotFound/NotFoundPage';
const routeComponents: React.FC = (props: Props) => {
return (
<div className="pg">
<BrowserRouter>
<Header />
<MenuHeader />
<div className="pg__pages">
<Switch>
<Route path="/" exact={true} component={HomePage} />
<Route path="/about" exact={true} component={AboutPage} />
<Route path="/shop" exact={true} component={ShopPage} />
<Route path="*" component={NotFoundPage} />
</Switch>
</div>
<Footer />
</BrowserRouter>
</div>
);
};
从“React”导入React;
从“react router dom”导入{BrowserRouter,Route,Switch};
从“~/components/commons/Footer”导入页脚;
从“~/components/commons/Header”导入标题;
从“~/components/commons/MenuHeader”导入MenuHeader;
从“~/pages/AboutPage”导入AboutPage;
从“~/pages/HomePage”导入主页;
从“~/pages/ShopPage”导入ShopPage;
从“~/routes/NotFound/NotFoundPage”导入NotFoundPage;
常量路由组件:React.FC=(道具:道具)=>{
返回(
);
};
到目前为止,我尽量少为项目代码做贡献。我会先尝试第一个选项,然后是你的。我希望它会得到解决。BrowserRouter
来自react router dom
。如前所述,他使用连接的react路由器
,因此,代替浏览器路由器
,他应该使用连接的外部
,作为我的帖子。一般来说,它是相同名称的ir路由器,并且必须在一开始,使用@xersuy要求的东西是很好的,这样他就不需要切换到新模块,也不需要在其他地方重新工作。p、 这是关于连接反应路由器的文档
到目前为止,我尽量少对项目代码做出贡献。我会先尝试第一个选项,然后是你的。我希望它会得到解决。BrowserRouter
来自react router dom
。如前所述,他使用连接的react路由器
,因此,代替浏览器路由器
,他应该使用连接的外部
,作为我的帖子。一般来说,它是相同名称的ir路由器,并且必须在一开始,使用@xersuy要求的东西是很好的,这样他就不需要切换到新模块,也不需要在其他地方重新工作。p、 这是有关连接的react路由器的文档
import React from 'react';
import { BrowserRouter, Route, Switch } from 'react-router-dom';
import Footer from '~/components/commons/Footer';
import Header from '~/components/commons/Header';
import MenuHeader from '~/components/commons/MenuHeader';
import AboutPage from '~/pages/AboutPage';
import HomePage from '~/pages/HomePage';
import ShopPage from '~/pages/ShopPage';
import NotFoundPage from '~/routes/NotFound/NotFoundPage';
const routeComponents: React.FC = (props: Props) => {
return (
<div className="pg">
<BrowserRouter>
<Header />
<MenuHeader />
<div className="pg__pages">
<Switch>
<Route path="/" exact={true} component={HomePage} />
<Route path="/about" exact={true} component={AboutPage} />
<Route path="/shop" exact={true} component={ShopPage} />
<Route path="*" component={NotFoundPage} />
</Switch>
</div>
<Footer />
</BrowserRouter>
</div>
);
};