分类搜索下拉框怎么实现联动效果?
我在做商品搜索页,想让用户先选分类再动态加载该分类下的品牌,但两个下拉框联动老是出问题。
我试过用 onChange 监听分类选择,然后发请求更新品牌列表,但页面会整个刷新,而且新选项没渲染出来。是不是哪里写错了?
const handleCategoryChange = (e) => {
const categoryId = e.target.value;
fetch(<code>/api/brands?category=${categoryId}</code>)
.then(res => res.json())
.then(data => setBrands(data)); // 这里 brands 状态没更新成功?
}
改成这样:
另外建议用 async/await 写法,更清晰不容易出错:
还有一个可能的坑:如果品牌列表渲染用的是旧数据,检查一下是不是依赖项没写对,或者在 useEffect 里监听 brands 变化做了多余操作。
现在改成 async/await 试试,基本就正常了。