/** * @license * Copyright Stbui All Rights Reserved. * https://github.com/stbui/prophet */ export interface Query { type: string; resource: string; payload: object; } export interface QueryOptions { action?: string; onSuccess?: (response: any) => any | Object; onFailure?: (error?: any) => any | Object; } export declare type UseMutationValue = [ (query?: Partial, options?: Partial) => void, { data?: any; total?: number; error?: any; loading?: boolean; loaded?: boolean; } ]; /** * 更新数据 * * @param query * @param options * @param {string} options.action * @param {Function} options.onSuccess * @param {Function} options.onFailure * * @returns * * @example * * import { useMutation } from '@stbui/prophet-core'; * * const UserProfile = record => { * const [update, { data, loading, error }] = useMutation({ * type: 'UPDATE', * resource: 'users', * payload: { id: record.id, data: { username: 'stbui' } }, * }); * * if (loading) { * return 'loading'; * } * * if (error) { * return error.message; * } * * return
{data.username}
; * }; * * const UserProfile = record => { * const [update, { data, loading, error }] = useMutation({ * type: 'UPDATE', * resource: 'users', * payload: { id: record.id, data: { username: 'stbui' } }, * }); * * if (loading) { * return 'loading'; * } * * if (error) { * return error.message; * } * * return ( *
update(null, { data: { updateAt: new Date() } })}> * {data.username} *
* ); * }; */ declare const useMutation: (query: Query, options: QueryOptions) => UseMutationValue; export default useMutation;