javascript - 使用反应钩子单击按钮时道具不更新
问题描述
我不知道出了什么问题。基本上有一个过滤器组件可以通过低值或高值,并且产品旨在根据该值进行更改。第一个值更改有效,但之后 Cardlist products 道具不会更改
function ProductOverview({products, history}) {
let [productsValue, setProducts] = useState(products);
const setFilter = (value) => {
let sortedProduct;
if (value === 'low'){
sortedProduct = products.sort((a, b) => a.price - b.price)
setProducts(sortedProduct);
}
else if (value ==='high'){
console.log("higg")
sortedProduct = products.sort((a, b) => b.price - a.price)
setProducts(sortedProduct)
}
};
return (
<div className="product-overview">
<Filter setValue={setFilter} />
{products.length > 0 ? (
<CardList products={productsValue} />
) : (
<div className="empty-list">No Item</div>
)}
</div>
);
}
解决方案
推荐阅读
- vue.js - 工具提示组件无法使用 Vuetify
- windows - 无法通过 SSH 连接到 Azure Windows Server VM
- python - 谁在他们的公司中使用 pyenv?
- python - 如何在 Python 中绘制 Google QuickDraw 数据集?
- c# - 如何在仅数字排序的字母数字中使用顺序
- powershell - 使用 powershell 在 powerpoint 中编辑形状
- android - 为什么在 Android 中为 NumberPicker 设置 textcolor 时会发生 NoSuchFieldException?
- azure-logic-apps - 如何检索多个逻辑应用程序的“已完成运行”计数
- php - ~/.composer/vendor/laravel/valet/server.php 中的权限被拒绝
- ruby-on-rails - 无法将 project_id 设置为嵌套路由中的数据库