我要解决的是,如何在用户单击动态 url 时呈现到特定页面?更具体地说,有我的“product_list”api 数据。在“product_list”api 数据中有一个关键的“url”,每当用户点击这个“url”时,用户就会被重定向到另一个特定的“product_detail”页面。如何将特定的动态 url 页面实现到特定页面?所以每当用户点击 url 时,用户就会看到一个特定的 UI 页面,而不是那个动态 url 页面。
我可能是 reactjs 的新手。我正在尝试解决这个问题,但我不知道我哪里做错了。如果有人能帮我解决我要解决的问题,那就太好了。非常感谢你。
// product_list api-data -->
[
{
"url": "http://localhost:8000/api/p/product01",
"id": 19,
"title": "product01",
"slug": "product01",
"description": "product01descc",
"image": "http://localhost:8000/media/google.com/images/tet0.png",
"price": 1,
"status": true,
"created_on": "2020-04-19T03:45:12Z"
},
{
"url": "http://localhost:8000/api/p/product02",
"id": 20,
"title": "product02",
"slug": "product02",
"description": "product01descc",
"image": "http://localhost:8000/media/google.com/images/tet0.png",
"price": 2,
"status": true,
"created_on": "2020-04-19T03:45:12Z"
}
]
特定产品列表的产品详细信息 api-data,例如“product-01”。
{
"id": 19,
"title": "product01",
"slug": "product01",
"description": "product01descc",
"image": "http://localhost:8000/media/google.com/images/tet0.png",
"price": 1,
"created_on": "2020-04-19T03:45:12Z",
"status": true,
"color": 1,
"size": 1,
"product_category": []
}
我努力试图解决这个问题。
./src/productList.js
import React, {Component} from "react";
import Contacts from './productListHook.js';
export default class App extends Component{
state = {
contacts: [
]
}
contactList() {
fetch('http://localhost:8000/api/p_list')
.then(res => res.json())
.then((data) => {
this.setState({ contacts: data })
})
.catch(console.log)
}
render(){
return(
<Contacts contacts={this.state.contacts} />
)
}
}
在此页面中,每当我尝试呈现用户时,当用户单击“标题”时,如下所示。但该页面将用户呈现到 api-detail 页面。显然,这将是因为我没有将该 api-detail 页面实现到用户将看到 UI 详细信息页面的特定页面。如何在 reactjs 中实现它?
./src/productListHook.js
import React from 'react'
const Contacts = ({ contacts }) => {
return (
{contacts.map((contact) => (
<img src={contact.image} alt="" class="img-fluid" />
<h3> <a href={contact.url}>{contact.title}</a> </h3>
))}
)
};
export default Contacts