@vlsergey/react-promise
Version:
React wrappers for Promises
33 lines • 1.15 kB
TypeScript
import { PureComponent, ReactNode } from 'react';
declare type Deferred<Values> = {
[Property in keyof Values]: Promise<Values[Property]>;
};
interface PropsType<Values, Result extends ReactNode> {
children: (values: Partial<Values>) => Result;
cleanOnChange?: boolean;
promises?: Deferred<Values>;
}
interface StateType<Values> {
error?: unknown;
errors: {
[Property in keyof Values]?: unknown;
};
values: Partial<Values>;
}
export default class PromisesComponent<Values, Result extends ReactNode> extends PureComponent<PropsType<Values, Result>, StateType<Values>> {
private mounted;
private prevPromises?;
state: StateType<Values>;
constructor(props: Readonly<PropsType<Values, Result>>);
componentDidMount(): void;
componentDidUpdate(): void;
componentWillUnmount(): void;
cleanValues: () => void;
setValue: <Key extends keyof Values>(key: Key, value: Values[Key]) => void;
resetValues: () => void;
subscribe(): void;
unsubscribe(): void;
render(): Result;
}
export {};
//# sourceMappingURL=PromisesComponent.d.ts.map