export { default as useMergedState } from 'rc-util/lib/hooks/useMergedState'; export { default as useEvent } from 'rc-util/lib/hooks/useEvent'; /** * 返回一个强制刷新函数;组件卸载后调用无效果 * @returns {() => void} 调用后触发一次重新渲染 */ declare function useUpdate(): () => void; /** * 类似 useState,但 setState 支持传入更新完成后的回调 * @param {*} initialState 初始状态 * @returns {[*, (newState: *, callback?: (state: *) => void) => void]} [当前状态, 支持回调的 setState] */ declare function useStateWithCallback(initialState: any): [any, (newState: any, callback?: (state: any) => void) => void]; /** * 依赖做深度比较的 useEffect,deps 引用变化但深度相等时不会重新执行 * @param {(prevDeps: *) => void} callback 副作用回调,参数为上一次的 deps * @param {*} deps 依赖值(任意可深度比较的值,不要求是数组) * @param {(a: *, b: *) => boolean} [compare] 自定义比较函数,默认使用 lodash isEqual */ declare function useDeepEqualEffect(callback: (prevDeps: any) => void, deps: any, compare?: (a: any, b: any) => boolean): void; /** useDeepEqualEffect 的别名 */ declare function useDeepEffect(callback: (prevDeps: any) => void, deps: any, compare?: (a: any, b: any) => boolean): void; /** * 解析表单字段的选项配置,支持静态数组或一段 JavaScript 表达式(动态计算选项,可依赖其他字段的值) * @param {Array|string} options 静态选项数组,或语言为 javascript 时的表达式源码 * @param {string} [language] 选项的类型,'javascript' 时把 options 当表达式执行 * @param {string} [type] 选项 value 的目标类型,用于类型转换(如 'string'/'number') * @param {*} [form] 关联的 rc-field-form 表单实例,不传时 rc-field-form 会自建一个 * @param {*} [basicForm] 表达式里 getFieldValueForBasicForm 取值用的外层表单实例 * @returns {Array} 解析后的选项列表 */ declare function useOptions(options: any[] | string, language?: string, type?: string, form?: any, basicForm?: any): any[]; /** * 发起 GET 请求并通过 WebSocket 订阅后续更新,数据变化时自动重新拉取 * @param {string|{url: string, [key: string]: *}} param 请求地址,或包含 url 的请求配置对象 * @returns {*} 最新一次响应的数据,初始为 undefined */ declare function useSubscribeRequest(param: string | { url: string; [key: string]: any; }): any; /** * 生成一个用于更新组件 props 的函数;命中 router/query 类型的字段会走路由跳转,其余走本地 state 合并 * @param {Object} $props props 的类型/来源配置 * @param {(local: Object) => void} setLocal 合并本地 props 的函数 * @returns {(patch: Object) => void} 应用一批 props 变更 */ declare function useWidgetPropsUpdater($props: any, setLocal: (local: any) => void): (patch: any) => void; /** * 解析组件 props 配置(支持路由参数、表达式等来源),并允许外部局部覆盖 * @param {Object} $props props 的类型/来源配置 * @param {Object} [data] 表达式求值时可用的上下文数据 * @param {Object} [fns] 表达式求值时可调用的额外函数 * @param {Array} [deps] 触发重新解析的额外依赖项 * @returns {[Object, (patch: Object) => void, Object]} [最终生效的 props, 更新 props 的函数, 被本地覆盖的字段] */ declare function useWidgetProps($props: any, data?: any, fns?: any, deps?: any[]): [any, (patch: any) => void, any]; export { useDeepEffect, useDeepEqualEffect, useOptions, useStateWithCallback, useSubscribeRequest, useUpdate, useWidgetProps, useWidgetPropsUpdater };