Javascript React路由器将所有请求重定向到/&引用;
每当我尝试浏览像“/about”这样的路径时,浏览器中的哪个路径会是这样的:“”。我得到了我的主页。React路由器不会将我指向想要的路径 我使用React路由器v4 这是我的App.jsx文件:Javascript React路由器将所有请求重定向到/&引用;,javascript,reactjs,react-router,babeljs,Javascript,Reactjs,React Router,Babeljs,每当我尝试浏览像“/about”这样的路径时,浏览器中的哪个路径会是这样的:“”。我得到了我的主页。React路由器不会将我指向想要的路径 我使用React路由器v4 这是我的App.jsx文件: var React = require('react'); var ReactDOM = require('react-dom'); var Router = require('react-router-dom').BrowserRouter; var {Route,Link, hashHistory
var React = require('react');
var ReactDOM = require('react-dom');
var Router = require('react-router-dom').BrowserRouter;
var {Route,Link, hashHistory, Switch} = require('react-router-dom');
var Main = require('Main');
var Weather = require('Weather');
var About = require('About');
var Examples = require('Examples');
ReactDOM.render(
<Router>
<div>
<Route exact path="/about" component={About} />
<Route exact path="/examples" component={Examples} />
<Route exact path= "/" component={Main} />
</div>
</Router>
,document.getElementById('app')
);
var React=require('React');
var ReactDOM=require('react-dom');
var Router=require('react-Router-dom')。浏览器路由器;
var{Route,Link,hashHistory,Switch}=require('react-router-dom');
var Main=需要('Main');
var Weather=需要(“天气”);
var About=要求('About');
变量示例=要求(“示例”);
ReactDOM.render(
,document.getElementById('app')
);
这两种解决方案不起作用:
还有一个问题:哪种版本的React路由器更适合使用?我认为v3比v4好,因为它简单。用
组件包装路由。用组件包装路由。现在,似乎您使用了错误的路由器。您想使用哈希路由器
,但您正在使用浏览器路由器
。尝试像这样更新您的导入
var React = require('react');
var ReactDOM = require('react-dom');
var { Route, Link, HashRouter as Router, Switch } = require('react-router-dom');
现在,您似乎使用了错误的路由器。您想使用哈希路由器
,但您正在使用浏览器路由器
。尝试像这样更新您的导入
var React = require('react');
var ReactDOM = require('react-dom');
var { Route, Link, HashRouter as Router, Switch } = require('react-router-dom');
您正在使用散列路由器(正如我在您的url中看到的)。所以你必须使用HashRouter而不是Router
var React = require('react');
var ReactDOM = require('react-dom');
var {HashRouter, Route,Link, hashHistory, Switch} = require('react-router-dom');
var Main = require('Main');
var Weather = require('Weather');
var About = require('About');
var Examples = require('Examples');
ReactDOM.render(
<HashRouter>
<div>
<Route exact path="/about" component={About} />
<Route exact path="/examples" component={Examples} />
<Route exact path= "/" component={Main} />
</div>
</HashRouter>
,document.getElementById('app')
);
var React=require('React');
var ReactDOM=require('react-dom');
var{HashRouter,Route,Link,hashHistory,Switch}=require('react-router-dom');
var Main=需要('Main');
var Weather=需要(“天气”);
var About=要求('About');
变量示例=要求(“示例”);
ReactDOM.render(
,document.getElementById('app')
);
您正在使用哈希路由器(正如我在您的url中看到的)。所以你必须使用HashRouter而不是Router
var React = require('react');
var ReactDOM = require('react-dom');
var {HashRouter, Route,Link, hashHistory, Switch} = require('react-router-dom');
var Main = require('Main');
var Weather = require('Weather');
var About = require('About');
var Examples = require('Examples');
ReactDOM.render(
<HashRouter>
<div>
<Route exact path="/about" component={About} />
<Route exact path="/examples" component={Examples} />
<Route exact path= "/" component={Main} />
</div>
</HashRouter>
,document.getElementById('app')
);
var React=require('React');
var ReactDOM=require('react-dom');
var{HashRouter,Route,Link,hashHistory,Switch}=require('react-router-dom');
var Main=需要('Main');
var Weather=需要(“天气”);
var About=要求('About');
变量示例=要求(“示例”);
ReactDOM.render(
,document.getElementById('app')
);
尝试通过以下方式更改路由器HashRouter@HenriqueOeckslerBertoldi谢谢。它能工作。我正确地回答如下:D。只是为了以防万一,哈哈。试着换路由器HashRouter@HenriqueOeckslerBertoldi谢谢。它有效。我正确地回答如下:D。只是为了这个案例哈哈。谢谢你,它有效。我对它的第四版太陌生了。HashRouter
与BrowserRouter
有什么不同?HashRouter
通过HTML5之前的导航API进行导航。它将哈希放在URL中,并根据哈希后面的内容进行导航BrowserRouter
使用HTML5API并将新位置推送到访问过的位置列表上。上面的问题是,您想转到/about
,因为这是散列之后的内容。然而,BrowserRouter
像平常一样读取它。因此,它在/
处看到了回家路线,最后是/about
的散列。谢谢,它起作用了。我对它的第四版太陌生了。HashRouter
与BrowserRouter
有什么不同?HashRouter
通过HTML5之前的导航API进行导航。它将哈希放在URL中,并根据哈希后面的内容进行导航BrowserRouter
使用HTML5API并将新位置推送到访问过的位置列表上。上面的问题是,您想转到/about
,因为这是散列之后的内容。然而,BrowserRouter
像平常一样读取它。因此,它在/
看到了回家路线,最后是一个关于/about
的散列。由于答案更完整,我将答案标记改为您的答案,由于您对我的问题的评论,我也将答案标记改为您的答案。由于答案更完整,也因为您对我的问题的评论,我将答案标记改为您的答案。