本文介绍了反应不路由到“/"以外的其他地方路线的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法在/"以外的任何路径上渲染任何组件.这是我的 routes.js 代码

 从 'react' 导入 React从 'react-dom' 导入 ReactDOM;进口 {BrowserRouter 作为路由器,路线,来自'反应路由器-dom'从 './containers/stockTableContainer' 导入 StockTable;从 './containers/stockDetailContainer' 导入 StockDetail;export const getRoutes = (store) =>{返回(<路由器><div><路由精确路径='/'组件={StockTable}/><路由路径='/details'组件={StockDetail}/>

</路由器>)}

我可以在/"路由上渲染 StockDetail 组件,但我不能在/details"上路由它.

我也试过使用但仍然无法渲染/details"

完整代码位于:https://github.com/shrutis18/stockApp

解决方案

这是因为您的服务器不知道如何处理对 / 以外的路径发出的请求.要使 BrowserRouter 工作,任何可路由的请求都应由 index.html 提供.

摘自 常见问题

当您加载托管在静态文件上的网站的根页面时服务器(例如,http://www.example.com), 可能会出现去工作.然而,这只是因为当浏览器使请求根页面,服务器以根响应index.html 文件.

如果通过根页面加载应用,应用内导航将起作用,因为实际上并未向服务器发出请求.这意味着如果您加载 http://www.example.com 并单击链接到http://www.example.com/other-page/,您的申请将匹配和渲染/other-page/路由.

但是,如果您要刷新一个非根页面(或只是尝试直接导航到它).开放您浏览器的开发者工具,您将在控制台通知您无法加载页面.这是因为静态文件服务器实际上依赖于请求的文件存在.

更进一步

当您的服务器可以响应动态请求时,这不是问题.在这种情况下,您可以指示服务器捕获所有请求并提供相同的 index.html 文件.

I am not able to render any component on any route other than "/".Here is my code for routes.js

 import React from 'react'
import ReactDOM from 'react-dom';
import {
    BrowserRouter as Router,
    Route,
} from 'react-router-dom'
import StockTable from './containers/stockTableContainer';
import StockDetail from './containers/stockDetailContainer';

export const getRoutes = (store) => {
 return(
     <Router>
    <div>
        <Route exact path ='/' component ={StockTable}/>
        <Route  path ='/details' component ={StockDetail}/>
    </div>
    </Router>
    )
  }

I can render the StockDetail component on "/" route but i can't route it on "/details".

I have also tried using but still couldn't render "/details"

full code at : https://github.com/shrutis18/stockApp

解决方案

This is because your server doesn't know how to handle requests made to a path other than /. For the BrowserRouter to work, any routable request should be served the index.html.

An excerpt from the FAQ

Further along the lines

这篇关于反应不路由到“/"以外的其他地方路线的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-12 16:43