import React, { Component } from 'react'
import { Link,Routes,Route, useParams } from 'react-router-dom'
import Detail from './Detail'
export default class Messages extends Component {
state ={messageArr:[
{id:'1',title:'消息1'},
{id:'2',title:'消息2'},
{id:'3',title:'消息3'},
]}
render() {
const {messageArr} = this.state
return (
<div>
<ul>
{
messageArr.map((messageObj)=>{
return <li key={messageObj.id}>
<Link to={`detail/${messageObj.id}/${messageObj.title}`}>{messageObj.title}</Link>
</li>
})
}
</ul>
<hr />
<div>
<Routes>
<Route path="detail/:id/:title" element={<Detail/>}>
</Route>
</Routes>
</div>
</div>
)
}
}
import {useParams} from 'react-router-dom'
import React from 'react'
export default function Detail() {
const DetailData =[
{id:'1',content:'你好,上海'},
{id:'2',content:'你好,北京'},
{id:'3',content:'你好,广州'},
]
const params = useParams()
const {id,title} = params
const deatilContent = DetailData.find((detailObj)=>{
return detailObj.id === id
})
return (
<ul>
<li>ID:{id}</li>
<li>title:{title}</li>
<li>content:{deatilContent.content}</li>
</ul>
)
}