javascript - React Router 在点击卡片后创建一个“新页面”
问题描述
任何人都可以帮助我使用 React Router
在有人点击我的项目卡后,我试图创建一个“新页面”(包含项目详细信息),但我无法做到这一点我一直在寻找解决方案,但我不想创建一个新按钮来处理这些更改. 这是我的代码:
import React from "react";
import data from "../data";
import Proj from "./proj";
import {
BrowserRouter as Router,
Route,
Link,
useParams,
} from "react-router-dom";
import ProjectDetails from "./projectsDetail";
//do something...
function Projects(props) {
function Child() {
// We can use the `useParams` hook here to access
// the dynamic pieces of the URL.
let { id } = useParams();
return (
<div>
<h3>ID: {id}</h3>
</div>
);
}
return (
<div>
<div className="projects">
<div className="">
{data.map((item, i) => {
return (
<div key={i}>
<Router>
<Link to={`/${item.name}`}>
<Proj
key={i}
name={item.name}
details={item.details}
img={item.img}
/>
</Link>
<Route
path="/:id"
children={<ProjectDetails id={item.id} name={item.name} />}
/>
</Router>
</div>
);
})}
</div>
</div>
</div>
);
}
export default Projects;
我得到了新的 url,但它不在新的 Page 中。它只是出现在同一页面上
解决方案
推荐阅读
- typescript - 是否可以在不在子模块中注册实体的情况下使用@InjectRepository?
- python - 使用 BeautifulSoup 创建带有嵌套标签的新标签
- twilio - 如果被叫方拒绝,Twilio 出站呼叫自动拨号两次
- css - 在此 CodeSandbox 中,在宽度为 768px 的情况下,在 css 中使用媒体查询不起作用
- node.js - 构造函数方法未在 Typescript 中设置属性
- vb.net - 有一个更好的方法吗?无需声明那些被检查为假的
- python - 计算具有零的列数
- jestjs - 期望数组参数具有设置长度
- html - Textarea占位符奇怪的差距(reactjs)
- jquery - 使用 Dropdownlist Visual Basic 调用 MVC actionResult