Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.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
Javascript React路由器将所有请求重定向到/&引用;_Javascript_Reactjs_React Router_Babeljs - Fatal编程技术网

Javascript React路由器将所有请求重定向到/&引用;

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

每当我尝试浏览像“/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, 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
的散列。由于答案更完整,我将答案标记改为您的答案,由于您对我的问题的评论,我也将答案标记改为您的答案。由于答案更完整,也因为您对我的问题的评论,我将答案标记改为您的答案。