Javascript 反应&;Axios-设置新参数需要额外刷新一次页面才能应用
我在这里做一个项目,遇到了一个问题。我试图能够“排序”的产品的基础上品牌,风格,颜色等,我使用的API支持这一点,这是好的。但我面临的问题是,每当我选择“品牌”作为例子时,什么都不会发生。但如果我选择“颜色”,则“品牌”适用 所以它是“延迟一”,不知道我如何才能更好地解释它 以下是我的意思: 如您所见,每当我更改品牌时,就会添加Javascript 反应&;Axios-设置新参数需要额外刷新一次页面才能应用,javascript,reactjs,axios,Javascript,Reactjs,Axios,我在这里做一个项目,遇到了一个问题。我试图能够“排序”的产品的基础上品牌,风格,颜色等,我使用的API支持这一点,这是好的。但我面临的问题是,每当我选择“品牌”作为例子时,什么都不会发生。但如果我选择“颜色”,则“品牌”适用 所以它是“延迟一”,不知道我如何才能更好地解释它 以下是我的意思: 如您所见,每当我更改品牌时,就会添加属性_1047(类型)。然后,每当我改变颜色时,品牌就会添加到我的参数中 这是我的密码: let facetValue = props.facetValue;
属性_1047
(类型)。然后,每当我改变颜色时,品牌就会添加到我的参数中
这是我的密码:
let facetValue = props.facetValue;
let facetKey = props.facetKey;
const [params, setParams] = useState({
store: "US",
offset: props.offset,
categoryId: props.categoryId,
limit: props.limit,
country: "US",
sort: "freshness",
currency: "USD",
sizeSchema: "US",
lang: "en-US",
});
useEffect(() => {
if (facetKey) {
console.log(`${facetKey}: ${facetValue}`);
setParams({
[facetKey]: facetValue,
...params,
});
}
console.log(params);
const options = {
method: "GET",
url: "https://asos2.p.rapidapi.com/products/v2/list",
params: params,
headers: {
"x-rapidapi-key": "",
"x-rapidapi-host": "",
},
};
axios
.request(options)
.then(function (response) {
setProducts(response.data.products);
props.items(response.data.itemCount);
props.facets(response.data.facets);
})
.catch(function (error) {
console.error(error);
});
}, [props.limit, facetKey]);