Javascript React Hooks:获取useEffect警告中的数据

Javascript React Hooks:获取useEffect警告中的数据,javascript,reactjs,redux,react-hooks,Javascript,Reactjs,Redux,React Hooks,我正在使用react Hooksuseffect从组件中的API获取数据 props.getUserInfoAction() is an Action from redux dispatching user info 示例 useEffect(() => { props.getUserInfoAction(); }, []); 效果很好,我可以获取数据,但我发现我的控制台中显示了一个警告 React Hook useEffect缺少依赖项:“props”。

我正在使用react Hooks
useffect
从组件中的API获取数据

props.getUserInfoAction() is an Action from redux dispatching user info 
示例

useEffect(() => {
        props.getUserInfoAction();
      }, []);
效果很好,我可以获取数据,但我发现我的控制台中显示了一个
警告

React Hook useEffect缺少依赖项:“props”。包括 删除或删除依赖项数组。然而,“道具”会随着时间而改变 任何道具更改,因此首选修复方法是在useEffect调用之外分解“道具”对象,并引用那些特定的道具 内部使用效果反应挂钩/详尽的DEP

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

useEffect(() => {
            props.getUserInfoAction();
          }, [props]); 

如果
props.getUserInfoAction()
是您应该执行的操作,而不是通过分派(从
connect
我假设)接收的操作,请执行以下操作:

因为即使你这样做:

const {action} = props

函数总是在呈现调用之间更改。

作为
[]
空数组的第二个参数用于在组件首次装载和卸载时运行useEffect。这是您真正想要的吗?是的,我正在从connect中执行
,但我不想删除它,这是一个代码结构问题,因为我正在为所有组件执行此操作谢谢我正在使用redux thunk来调度操作,因此,在组件内部使用
useDispatch
不会发送两次,因为在
getuserInfoAction
内部,我正在发送数据?useDispatch将一个记忆值返回给
dispatch
方法,因此它不会在渲染调用之间更改
const {action} = props