reactjs - 如何向使用 create-react-app 制作的默认反应应用程序添加另一条路线?
问题描述
我正在设置一个反应 Web 应用程序并使用默认的 create-react-app 来生成项目。但是我不确定如何将其他路由添加到默认服务器
例如:
本地主机:3000/登录
应该呈现一个名为 login.html 的文件
我什至不确定在哪里可以找到服务器文件。我可以运行 npm build 然后使用我自己的服务器来执行静态文件,但我想知道是否有办法在默认项目中实现它,因为它允许您查看实时更改等。
我的 Login.html 位于 public 文件夹中,而 login.js 和 login.css 位于 src 文件夹中。
如果这是一个真正的新手问题,我深表歉意,但我无法在网上找到很多东西。
解决方案
Create-React-App 是一个单页应用程序,因此您没有多个 HTML 文件,只有最初出现的 index.html。你的问题可能有多个不同的答案,所以我只告诉你我个人知道的最流行的方法。
- React-Router-Dom
这就是很多人在他们的网站上浏览不同视图的方式。为了给出它如何工作的基本概念,您创建一个包含不同“路由”的路由器,这些路由都指向项目中的不同类,可以是它自己的“视图”,基本上是一个不同的页面。
<HashRouter>
<Switch>
<Route path="/" name="Home" component={Full}/>
</Switch>
</HashRouter>
所以这里的“Full”是一个组件的名称,它只是一个 javascript 类,很像使用 Create-React-App 应该已经拥有的“App.js”。
如果您使用 React,您想要做的是制作不同的 Javascript 类,就像“App.js”一样,然后从您从网站加载的任何初始页面重定向到它们。有很多关于 React-Router 的 youtube 教程
推荐阅读
- go - 包含来自另一个目录的模板
- boto - 如何将传输标头添加到 boto3 s3 客户端?
- go - 构建时的 GCC 未定义引用
- azure - 对于相对简单但吞吐量较高的 API,如何确定 Service Fabric 群集中的节点类型数、节点数和 VM 大小?
- unity3d - 播放录制的音符时出现统一钢琴游戏问题
- python - Visual Studio 代码调试器无法在我的 Python 上启动
- go - 为什么你必须在检查完请求的主体后关闭它?
- acumatica - PXUnboundDefault 不工作
- java - gradle build,失败任务':compileJava'执行失败
- java - 为什么我的 Spring Boot @Autowired MyBatis 静态映射器为空?