Javascript React Hooks:获取useEffect警告中的数据
我正在使用react HooksJavascript 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”。
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