我正在处理这三个页面: App.js 有两个按钮,当您单击第一个按钮时,它将带您进入“/quotes”页面,当您单击第二个按钮时,它将带您进入“/recommendations”页面。所有三个的 html 都可以工作,但是每当我转到“/quotes”或“/recommendations”时,App.js html 内容和 css 内容都会继续出现(以一种非常奇怪和破碎的方式,看起来非常糟糕)。 这是一个例子:
这是我的代码: 应用程序.js:
import './App.css'; import { BrowserRouter as Router, Routes, Route} from 'react-router-dom'; import QuotePage from './QuotePage.js' import RecommendationPage from './RecommendationPage.js' function App() { return ( <div className="all-page"> <Router> <Routes> <Route path="/quotes" element={<QuotePage/>}/> <Route path="/recommendations" element={<RecommendationPage/>}/> </Routes> </Router> <main className="central-div"> <h2>Taylor's Songs</h2> <a href="/quotes" className="quote-bttn"> FIND ME A QUOTE </a> <a href="/recommendations" className="recommend-bttn"> GET ME A RECOMMENDATION </a> </main> </div> ); } export default App;
QuotePage.js:
import './QuotePage.css'; function QuotePage() { return ( <h1>testing</h1> ); } export default QuotePage;
QuotePage.css(我这样做只是为了测试):
body{ background-color: red; }
RecommendationPage.js:
import './RecommendationPage.css'; function RecommendationPage() { return ( <div className="test"> <h1>this should be the recommendation page!</h1> </div> ); } export default RecommendationPage;
推荐页面.css:
*{ background: rgba(191, 240, 243, 0.94); } .test{ background-color: rgb(234, 83, 83); height: 30px; }
如果这里缺少任何内容,我很抱歉,如果您快速查看一下是否在这里,我将非常感激:https://github.com/vitoriaacarvalho/my-taylor-swift-api/tree/master /前面
非常感谢所有试图帮助我的人! <3
P粉6449810292024-04-05 09:13:08
我认为您陷入了新人通常会遇到的陷阱:它的结构不像 HTML。
虽然这并不完全正确,但一开始就认为 React 只有一个屏幕/页面:app.js,这是有帮助的。您可以使用组件将其他内容拉入此页面。这称为管理状态。
因为您在 app.js 中拥有所有这些代码,所以它将继续出现。您需要做的是创建一个单独的文件(例如“home.js”)并将该代码放入其中。
然后,您需要使用像react-router-dom这样的工具进行路由,以便可以更改屏幕上的内容。
完成此操作后,您将开始了解 React 的工作原理。
所以:
您需要阅读react-router-dom,但这非常简单