1.通过useNavigate来实现编程式导航
import React, { useState } from 'react'
import { NavLink, Outlet, useNavigate } from 'react-router-dom'
export default function News() {
const navigate = useNavigate()
const [likeNews] = useState([
{ id: 1, name: '哈哈哈',content:'666' },
{ id: 2, name: '看着我一望无际', content: '5555' },
{ id: 3, name: '彩色的', content: '7777' },
])
function go(item) {
navigate('detail',{
replace:false,
state:{
id: item.id,
title: item.title,
content: item.content
}
})
}
return (
<div>
<ul>
{likeNews.map(item => (
<li key={item.id}>
<button onClick={() => { go(item)}}>跳转</button>
</li>
))}
</ul>
<div>
<Outlet/>
</div>
</div>
)
}
2.接收
import React from 'react'
import { useLocation } from 'react-router-dom'
export default function Detail() {
const {state:{id,name,content}} = useLocation()
return (
<div>
<ul>
<li>id:{id}</li>
<li>content:{content}</li>
<li>name:{name}</li>
</ul>
</div>
)
}