关于 useSafeDispatch 的参数 dispatch 的类型问题
来源:10-5 用useReducer进行状态管理

buzZ404
2021-05-15
请问老师,useSafeDispatch 的参数 dispatch 的类型为什么是 (...args: T[]) => void
。dispatch 不是接收 Partial<State<D>> 吗,您为什么写的接收的是一个数组呢?
我是这样写的,貌似运行没什么问题,希望老师解答!
const useSafeDispatch = <D>(dispatch: (action: Partial<State<D>>) => void) => {
const mountedRef = useMountedRef();
return useCallback(
(action: Partial<State<D>>) =>
mountedRef.current ? dispatch(action) : void 0,
[mountedRef, dispatch]
);
};
写回答
1回答
-
Nolan
2021-05-16
...args: T[],不是表达传入数组,而是传入单个的参数。举个例子,你以为是这样传参:dispatch([1,2]),其实是这样传参:dispatch(1, 2)
出现这样的结果是因为前面的三个点...,看一下这里吧:https://zhuanlan.zhihu.com/p/32038245
00
相似问题