Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何包装标签<;链接>;a<;路由器>;使用ConnectedRouter?_Reactjs_React Router - Fatal编程技术网

Reactjs 如何包装标签<;链接>;a<;路由器>;使用ConnectedRouter?

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') ); 不属于内

我不能交换路由器

index.js 在本项目中使用了
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>
  );
};