<Photo>该应用程序在网格中显示所有照片<PhotoGrid>,然后单击后,函数会<Photo>使用 更改 URL history.push,并且 Router<Single>使用钩子根据 URL进行渲染useParams。
PhotoGrid-> Photo(单击时更改 URL)->Single基于 URL (useParams)。我一定搞砸了,因为 useParams 返回未定义。
感谢所有先进的想法。应用程序.js
class App extends Component {
render() {
return (
<>
<Switch>
<Route exact path="/" component={PhotoGrid}/>
<Route path="/view/:postId" component={Single}/>
</Switch>
</>
)
}
}
export default App;
Run Code Online (Sandbox Code Playgroud)
Photogrid.js
export default function PhotoGrid() {
const posts = useSelector(selectPosts);
return (
<div>
hi
{/* {console.log(posts)} */}
{posts.map((post, i) => <Photo key={i} i={i} post={post} />)}
</div> …Run Code Online (Sandbox Code Playgroud)