Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.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/Redux-根组件页面在从任何页面刷新时呈现_Reactjs_Url_Redux_React Router - Fatal编程技术网

ReactJS/Redux-根组件页面在从任何页面刷新时呈现

ReactJS/Redux-根组件页面在从任何页面刷新时呈现,reactjs,url,redux,react-router,Reactjs,Url,Redux,React Router,我的应用程序有一个默认路由,可以在开发模式下在localhost/路径上加载组件HomePage 但当我从任何页面刷新应用程序时,都会显示主页,即使浏览器中的URL显示为localhost/any/other/path。然后,如果我通过应用程序手动导航到/any/other/path路径,浏览器的URL将变成localhost/any/other/path/any/other/path 这就像路由器在刷新时总是认为当前路径是/。 问题可能是什么?我正在使用React 16和“React路由器do

我的应用程序有一个默认路由,可以在开发模式下在
localhost/
路径上加载组件
HomePage

但当我从任何页面刷新应用程序时,都会显示主页,即使浏览器中的URL显示为
localhost/any/other/path
。然后,如果我通过应用程序手动导航到
/any/other/path
路径,浏览器的URL将变成
localhost/any/other/path/any/other/path

这就像路由器在刷新时总是认为当前路径是
/

问题可能是什么?我正在使用React 16和
“React路由器dom”:“5.1.2”

我的路线如下:

<Provider store={store}>
  <ConnectedRouter>
    <div>
      <Switch>
        <Route exact path="/" component={HomePage} />
        <Route exact path="/login" component={LoginPage} />
        <Route exact path="/proxy" component={ProxyPage} />
        ...
      </Switch>
    </div>
  </ConnectedRouter>
</Provider>
在存储中,即使在加载URL时,
路由器
减速机也会按如下方式启动:

路由器:{
行动:“流行”,
地点:{
散列:“”,
路径名:“/”,
查询:{},
搜索:“,
状态:未定义
}
}
编辑:将我的用例简化为更简单,添加了更多信息


<Provider store={store}>
  <ConnectedRouter>
    <div>
      <Switch>
        <Route exact path="/">
          <Redirect to="/home" />
        </Route>
        <Route exact path="/login" component={LoginPage} />
        <Route exact path="/proxy" component={ProxyPage} />
        ...
      </Switch>
    </div>
  </ConnectedRouter>
</Provider>
...
我不是100%确定,但我的直觉是,这种行为与使用Redux和ConnectedRouter的关系更大,而不是与我认为合适的路由相关。2个问题:

  • 你正在使用热重新加载吗

  • 如果您使用相同的代码并在带有BrowserRouter的非redux应用程序中运行,会发生什么


  • 如果为true,重定向将在历史记录上推送一个新条目,而不是替换当前条目

    将推送重定向到=“/where/else”/

    是否在代码中使用重定向推送功能?

    发现问题

    我已经更改了browserHistory配置中的默认
    basename
    参数,据我所知,该参数不起作用(我试图修复应用程序启动时缺少重定向的问题)


    删除
    basename:window.location.pathname
    行修复了我的(自我造成的)问题。

    如果您还添加一些路由器设置的代码示例(以获得更准确/具体的答案),则效果更好。感谢您的输入。愚蠢的问题-你所说的路由器设置到底是什么意思?交换机内部的路由组件等?是。另外,添加一些代码示例。我没有使用热重新加载。如果有帮助的话,我已经对我的问题进行了编辑,以获得一个更直接的场景,即使使用完全正常的路线,问题仍然存在。我还添加了一些与Redux相关的信息。