此表达式不可调用。类型 'Thunk<Collections, undefined, any, {}, any>' 没有调用签名
This expression is not callable. Type 'Thunk<Collections, undefined, any, {}, any>' has no call signatures
这是我的代码。我想采取行动,上面的错误不断出现。
const action = useStoreActions( (actions : StoreModel) => actions.collections.fetchCollections);
useEffect( () => {
action()
},[])
这是我的集合对象,我想访问 fetchCollections。
这是任何简单易行的 React 状态管理代码。 P.S:这里我去掉了fetchCollectionsRequest,
fetchCollectionsSuccess, fetchCollectionsFailure.
import { Action, action, thunk, Thunk } from 'easy-peasy';
export interface Collections {
isLoading : boolean;
collections : any[];
error : string;
fetchCollections : Thunk<Collections>;
}
export const collectionsModel : Collections = {
isLoading : false,
collections : [],
error : '',
fetchCollections : thunk( actions => {
actions.fetchCollectionsRequest();
axios.get('/categories?filter={"where":{"isHidden":false}}')
.then( res => actions.fetchCollectionsSuccess(res.data))
.catch( err => actions.fetchCollectionsFailure(err.message));
}),
}
这是我的 model.tsx
import { collectionsModel, Collections } from './collectionsModel';
export interface StoreModel {
collections : Collections;;
}
export const model = {
collections : collectionsModel,
}
这是因为您正在键入 useStoreActions
挂钩的 actions
参数(它不直接符合正确的类型)。
而是使用 typed hooks:
// outside the component
import { createTypedHooks } from 'easy-peasy';
const { useStoreActions } = createTypedHooks<StoreModel>();
// inside the component:
const { fetchCollections } = useStoreActions(actions => actions.collections);
这是我的代码。我想采取行动,上面的错误不断出现。
const action = useStoreActions( (actions : StoreModel) => actions.collections.fetchCollections);
useEffect( () => {
action()
},[])
这是我的集合对象,我想访问 fetchCollections。 这是任何简单易行的 React 状态管理代码。 P.S:这里我去掉了fetchCollectionsRequest, fetchCollectionsSuccess, fetchCollectionsFailure.
import { Action, action, thunk, Thunk } from 'easy-peasy';
export interface Collections {
isLoading : boolean;
collections : any[];
error : string;
fetchCollections : Thunk<Collections>;
}
export const collectionsModel : Collections = {
isLoading : false,
collections : [],
error : '',
fetchCollections : thunk( actions => {
actions.fetchCollectionsRequest();
axios.get('/categories?filter={"where":{"isHidden":false}}')
.then( res => actions.fetchCollectionsSuccess(res.data))
.catch( err => actions.fetchCollectionsFailure(err.message));
}),
}
这是我的 model.tsx
import { collectionsModel, Collections } from './collectionsModel';
export interface StoreModel {
collections : Collections;;
}
export const model = {
collections : collectionsModel,
}
这是因为您正在键入 useStoreActions
挂钩的 actions
参数(它不直接符合正确的类型)。
而是使用 typed hooks:
// outside the component
import { createTypedHooks } from 'easy-peasy';
const { useStoreActions } = createTypedHooks<StoreModel>();
// inside the component:
const { fetchCollections } = useStoreActions(actions => actions.collections);