将数组值放在`usecallback deps`中
Posted
技术标签:
【中文标题】将数组值放在`usecallback deps`中【英文标题】:Put array values in `usecallback deps` 【发布时间】:2022-01-06 00:36:12 【问题描述】:我已经创建了会员注册功能。
我想将formState.values
的值从useCallback Hook
传递给axios.post
。
但是,当我将formState.values
放入handleSubmit
函数中的useCallback
依赖项时,会出现',' expected.
类型错误。
我该怎么办?需要将values
数组值放入formState
作为axios argument
。
你不能把formState.values
放在deps中,这样的axios参数值吗?
如何将值值作为参数传递?
const [formState, setFormState] = useState<formState>(
isValid: false,
values: ,
touched: ,
errors: ,
);
const handleSubmit = useCallback((event: FormEvent) =>
event.preventDefault();
axios.post<Login>(
'http://www.minsususu.com/login',
formState.values,
withCredentials: true,
,
)
.then(response =>
const accessToken = response.data;
axios.defaults.headers.common['Authorization'] = `Bearer $accessToken`;
router.history.push('/');
)
.catch(error =>
console.log(error);
);
, [formState.values])
【问题讨论】:
',' expected.
不是类型错误。究竟是什么工具引发了这个错误,在哪里?
formState.values
确实是语法错误,但这与useCallback
无关
values: formState.values
是对的。或您期望的任何变量。也可以是...formState.values
【参考方案1】:
会说问题出在电话后:
axios.post<Login>(
'http://www.minsususu.com/login',
formState.values, // or values: formState.values
withCredentials: true ,
)
【讨论】:
以上是关于将数组值放在`usecallback deps`中的主要内容,如果未能解决你的问题,请参考以下文章
React - 无法在 usecallback 函数中调用道具值
我应该在 useCallback 的依赖数组中包含 setState 吗?