我使用react useEffect从组件中的API中获取数据。
props.getUserInfoAction() is an Action from redux dispatching user info 示例
useEffect(() => {
props.getUserInfoAction();
}, []);工作很好,我可以得到我的数据,但我发现我有一个warning显示在我的控制台。
React缺少一个依赖项:“props”。要么包含它,要么删除依赖数组。但是,当任何道具发生变化时,“props”都会发生变化,因此首选的修复方法是在useEffect调用之外分解“props”对象,并引用useEffect中的那些特定道具-hooks/react。
我试图在数组中传递props,但是通过这样做,我得到了一个无限循环的API调用。
useEffect(() => {
props.getUserInfoAction();
}, [props]); 发布于 2019-07-18 15:00:20
如果props.getUserInfoAction()是一个操作,那么您应该使用分派(我假设是从connect )接收消息,而不是已经接收到,请执行以下操作:
import {getuserInfoAction} from './actionCreators'
import {useDispatch} from 'react-redux'
const Comp = () =>{
const dispatch = useDispatch()
useEffect(() =>{
dispatch(getUserInfoAction())
},[dispatch])
}因为即使你这样做:
const {action} = props函数在呈现调用之间总是会发生变化。
https://stackoverflow.com/questions/57097390
复制相似问题