首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React :在useEffect警告中获取数据

React :在useEffect警告中获取数据
EN

Stack Overflow用户
提问于 2019-07-18 14:53:12
回答 1查看 7.4K关注 0票数 4

我使用react useEffect从组件中的API中获取数据。

代码语言:javascript
复制
props.getUserInfoAction() is an Action from redux dispatching user info 

示例

代码语言:javascript
复制
useEffect(() => {
        props.getUserInfoAction();
      }, []);

工作很好,我可以得到我的数据,但我发现我有一个warning显示在我的控制台。

React缺少一个依赖项:“props”。要么包含它,要么删除依赖数组。但是,当任何道具发生变化时,“props”都会发生变化,因此首选的修复方法是在useEffect调用之外分解“props”对象,并引用useEffect中的那些特定道具-hooks/react。

我试图在数组中传递props,但是通过这样做,我得到了一个无限循环的API调用。

代码语言:javascript
复制
useEffect(() => {
            props.getUserInfoAction();
          }, [props]); 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-18 15:00:20

如果props.getUserInfoAction()是一个操作,那么您应该使用分派(我假设是从connect )接收消息,而不是已经接收到,请执行以下操作:

代码语言:javascript
复制
import {getuserInfoAction} from './actionCreators'
import {useDispatch} from 'react-redux'

const Comp = () =>{
    const dispatch = useDispatch()

    useEffect(() =>{
        dispatch(getUserInfoAction())
    },[dispatch])
}

因为即使你这样做:

代码语言:javascript
复制
const {action} = props

函数在呈现调用之间总是会发生变化。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57097390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档