【发布时间】:2020-04-22 11:14:50
【问题描述】:
我有这样的过滤数据端点-
localhost:8000/api/p_list?product_category=&color=&size=
每当用户过滤数据时,输出将如下所示,
localhost:8000/api/p_list?product_category=1&color=1&size=2
结果的输出来自根据用户请求获取的过滤器ID。每当用户根据reactjs中的过滤器请求id时如何获取值?
我可能是 reactjs 的新手。我正在努力解决这个问题,如果有人能帮助我解决我想要做的事情,那就太好了。非常感谢您。
我尝试解决的方法,
import React, {useEffect, useState} from "react";
import axios from 'axios';
function PostListPageByUser() {
const [posts, setPost] = useState([]);
const [userId, setUserId] = useState([]);
let signal = axios.CancelToken.source();
function handleChange(event) {
setUserId(event.target.value);
}
function handleClick(event) {
axios.get(`http://localhost:8000/api/p_list?product_category=${id}&color=${Id}&size=${Id}`, {
cancelToken: signal.token,
})
.then(res => {
const posts = res.data;
setPost(posts);
}).catch(err => {
console.log(err);
});
}
return (
<div>
<div class="product_sidebar">
<div class="single_sedebar">
<div class="select_option">
<div class="select_option_list">Category <i class="right fas fa-caret-down"></i> </div>
<div class="select_option_dropdown">
{product_categoryData.map(product_categoryData => (
<p onClick={useEffect}>{product_categoryData.category_title}</p>
))}
</div>
</div>
</div>
<div class="single_sedebar">
<div class="select_option">
<div class="select_option_list">Color <i class="right fas fa-caret-down"></i> </div>
<div class="select_option_dropdown">
{filter_colorData.map(filter_colorData => (
<p onClick={useEffect}>{filter_colorData.color_title}</p>
))}
</div>
</div>
</div>
<div class="single_sedebar">
<div class="select_option">
<div class="select_option_list">Size <i class="right fas fa-caret-down"></i> </div>
<div class="select_option_dropdown">
{filter_sizeData.map(filter_sizeData => (
<p onClick={useEffect}>{filter_sizeData.size_title}</p>
))}
</div>
</div>
</div>
</div>
</div>
);
};
export default PostListPageByUser;
【问题讨论】:
-
这里到底是什么问题,你不能过滤,或者显示数据吗?您也可以在 get 调用中使用参数来传递您的数据!
标签: javascript reactjs