首页 > 解决方案 > 在 useEffect 组件中指定依赖项

问题描述

我将 ReactuseEffect钩子与 Redux 一起使用。我的动作创建器在第一次渲染后第一次运行,因为我将 指定[]为 useEffect 的第二个参数。该操作涉及与 API 联系以获取一些数据。

然后 redux 状态对象storeItems更新,一切都很好。但是,我收到了 eslint 警告React Hook useEffect has a missing dependency: 'props'.。我不想指定第二个参数,[props]因为这将导致 useEffect 的第二次运行,这意味着不必要地访问 API。有没有人有办法摆脱这个警告而不将第二个参数指定为[props]

function GetStoreData(props){
    useEffect(() => {
        props.getStoreItems()
        console.log(props.storeItems)
    }, []);

    return null
};

const mapStateToProps = (state) => {
    return {storeItems: state.storeItems};
};

export default connect(mapStateToProps, {getStoreItems: getStoreItems})(GetStoreData);

标签: javascriptreactjsreduxreact-hooks

解决方案


推荐阅读