You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redux无法拉取数据,useEffect报dispatch和id缺失依赖警告如何解决?

问题1:页面无数据的核心原因

你server.js中的商品详情接口返回值为空,找到匹配商品后没有把商品数据返回给前端,导致前端请求拿到的是空值,Redux里自然存的是空数据:

// 原错误代码
if(product) 
    res.send();
// 修改为
if(product) 
    res.send(product);

问题2:useEffect依赖告警的解决方法

React的useEffect要求所有内部用到的外部变量都要放到依赖数组里,你需要把dispatch和id都加入依赖数组,修改ProductScreen.js中的useEffect代码即可消除告警:

// 原错误代码
useEffect(() => {
    dispatch(detailsProduct(id));
    return () => {
        //
    };
}, [])

// 修改为
useEffect(() => {
    dispatch(detailsProduct(id));
}, [dispatch, id])

useDispatch返回的dispatch函数引用是稳定的,加入依赖数组不会引发多余的effect执行,完全符合react-hooks规则。

内容的提问来源于stack exchange,提问作者LucasSaladini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 21:06:04