Javascript React路由器无法正确呈现起始页组件

Javascript React路由器无法正确呈现起始页组件,javascript,reactjs,react-router,Javascript,Reactjs,React Router,我使用react和firebase构建了测试应用程序,并将其部署到Github页面。在localhost上时,一切正常,但由于某种原因部署时,默认页面(起始页面)不会在该页面上呈现组件。下面是我的代码,它位于无状态功能组件App.js中。以防万一: (routes.LANDING=“/”) 据我所知,我对react路由器几乎没有经验 应提供着陆部件。相反,我什么也得不到,否则所有的链接和路由都按预期工作 谢谢你的帮助和建议 问题似乎在于路由器的相对路径。因为您的单页webapp托管在/fir

我使用react和firebase构建了测试应用程序,并将其部署到Github页面。在localhost上时,一切正常,但由于某种原因部署时,默认页面(起始页面)不会在该页面上呈现组件。下面是我的代码,它位于无状态功能组件App.js中。以防万一: (routes.LANDING=“/”)


据我所知,我对react路由器几乎没有经验 应提供着陆部件。相反,我什么也得不到,否则所有的链接和路由都按预期工作


谢谢你的帮助和建议

问题似乎在于路由器的相对路径。因为您的单页webapp托管在/firebaseApp/load上,所以加载将永远不会显示应在“/”上显示的组件。您可以将其更改为“/firebaseApp/”,但它会破坏您的本地版本的应用程序。在这个问题上有一个create-react应用程序线程:

要使react router呈现在中具有“/”路径的页面,请执行以下操作: 开发模式下,该组件的路线应使用 环境变量,当部署到GH页面时,看起来像这样


作为记录,firebase拥有自己的网站托管服务,您可以使用该服务与react router配合使用

我不太熟悉设置
路由器
;但是,是否有一个
索引
属性指定在没有提供路径时要使用的默认
路由
<代码>嗯,据我所知,技术上没有默认路线。当在本地运行localhost:3000/作为默认页面并呈现{Landing/}时,我希望GitHub页面具有相同的行为,但在这种情况下,../firebaseApp/应该服务于Landing组件,但是它不起作用。您是否检查了控制台中的错误?如果是,请在遇到任何问题时提供。如果你在github页面上公开托管应用程序,我相信你也可以提供一个链接。@DimitryIvashchuk最终,听起来
登录
页面就是你的索引页面。如果未指定页面,则索引页面是要转到的页面
site/
真正的意思是
site/index.html
.html
可以替换为您正在使用的任何文件,例如,php文件的
.php
。@MichaelSorensen抱歉,我的错,我提供了指向github repo的链接,而我以为我为gh页面提供了链接,这将解决问题!嘿,Michael,你创建react应用程序问题的链接非常有用。您是否介意发布一个明确的答案,该答案应如下所示:为了使react router在开发模式下呈现具有“/”路径的页面,该组件的路由应利用环境变量,并且在部署到GH页面时应如下所示。谢谢当然,我自己没有尝试过,但是,我会根据您的建议编辑答案,假设它对您有效。一切都很好,但我使用react router dom使其在本地和部署时都有效。我基本上包括了上面注释中带有env变量的代码,以及带有path='/'的原始代码,它可以按预期工作!谢谢
<BrowserRouter>
    <React.Fragment>
     <Navigation />
     <Route exact path={routes.LANDING} component={Landing} />
     <Route exact path={routes.SIGN_UP} component={SignUp} />
     <Route exact path={routes.SIGN_IN} component={SignIn} />
     <Route exact path={routes.PASSWORD_FORGET} component={PasswordForget} />
     <Route exact path={routes.HOME} component={Home} />
     <Route exact path={routes.ACCOUNT} component={Account} />
     </React.Fragment>
   </BrowserRouter>