การติดตั้ง React Router ในแอปพลิเคชัน Redux
ในบทเรียนที่ผ่านมาเราได้ติดตั้งเครื่องมือหลัก สำหรับทำงานกับ Redux ไปแล้ว บ่อยครั้ง ที่แอปพลิเคชันจำเป็นต้องมี เราเตอร์สำหรับนำทางระหว่าง หน้าเว็บต่าง ๆ และแอปพลิเคชันของเรา ก็ไม่ใช่ข้อยกเว้น สำหรับการนี้ เราจะติดตั้งไลบรารี React Router
เปิดโปรเจคของเราแล้วพิมพ์ในเทอร์มินัล คำสั่งต่อไปนี้:
npm install react-router-dom
ขอพูดล่วงหน้าเล็กน้อยว่าแอปพลิเคชัน Redux ของเรา
โดยทั่วไปแล้วมักจะเกี่ยวกับ
สินค้า ซึ่งข้อมูลของสินค้าถูกโพสต์โดย
ผู้ขายบางคน ดังนั้นตอนนี้เราจะปรับเปลี่ยน
คอมโพเนนต์หลัก App พอสมควร
และเพิ่มฟังก์ชันการทำงานสำหรับ
การกำหนดเส้นทาง (routing) ลงในแอปพลิเคชัน
เริ่มต้นให้เข้าไปที่โฟลเดอร์ src แล้วตามด้วย
app และสร้างไฟล์ root.jsx ที่นี่
นี่จะเป็นรากของเว็บไซต์ของเรา: ด้านซ้ายเราจะมีเมนู
ส่วนด้านขวา - เป็นเนื้อหา (ตอนนี้เรามีแค่
หัวข้อ):
function Root() {
return (
<div id="main">
<div id="menu">
<nav>
<a>Products</a>
<a>Sellers</a>
</nav>
</div>
<div id="main_page">
<h2>นี่คือแอป Redux แรกของฉัน!</h2>
<hr></hr>
</div>
</div>
)
}
export default Root
และเราจะปรับเปลี่ยนคอมโพเนนต์ App อันดับแรก
ลบเนื้อหาทั้งหมดออก จากนั้น
นำเข้า (import) ฟังก์ชันสองฟังก์ชันสำหรับเราเตอร์และ
คอมโพเนนต์ราก Root ของเรา:
import { createBrowserRouter, RouterProvider } from 'react-router-dom'
import Root from './app/root'
ด้านล่างหลังการนำเข้า ให้สร้างเราเตอร์
และกำหนดเส้นทางแรก โดยส่ง
Root ของเราไปเป็นองค์ประกอบที่จะแสดงผล
และกำหนดเส้นทางเป็น '/'
ต่อไปใน App เราจะเพิ่ม
เส้นทางอื่น ๆ ที่จำเป็น:
const router = createBrowserRouter([{ path: '/', element: <Root /> }])
ด้านล่างให้เขียนโค้ดของฟังก์ชัน App:
function App() {
return <RouterProvider router={router} />
}
export default App
เรียบร้อย เริ่มต้นแอปพลิเคชัน ในส่วนถัดไปเราจะ ดำเนินการสร้างคอมโพเนนต์สำหรับทำงานกับแอปพลิเคชัน Redux
สุดท้ายนี้ เรามาเพิ่มความสวยงามเล็กน้อย โดยเขียน
สไตล์ไว้ที่ index.css:
body {
font-size: 24px;
line-height: 1.5;
}
nav {
display: flex;
flex-direction: column;
}
ul {
list-style: none;
padding: 0;
}
h1, h2, h3 {
margin: 0;
}
a {
text-decoration: none;
color: blue;
cursor: pointer;
}
#main {
display: flex;
margin: 20px;
}
#menu {
margin-right: 50px;
padding-top: 50px;
padding-right: 50px;
border-right: 2px solid lightgray;
font-weight: bold;
}
เพิ่ม React Router ลงในแอปพลิเคชันของคุณ
ให้แอปพลิเคชันของคุณเกี่ยวข้องกับ
นักเรียน ซึ่งข้อมูลเกี่ยวกับนักเรียนจะถูก
โพสต์โดยอาจารย์ ด้วยเหตุนี้
ให้สร้างคอมโพเนนต์ราก Root
และปรับเปลี่ยนคอมโพเนนต์ App ตาม
ที่อธิบายในบทเรียน