@gongt/ts-stl-client
Version:
27 lines (26 loc) • 1.4 kB
TypeScript
/// <reference types="react" />
import * as React from "react";
import { ReactElement } from "react";
import { GlobalContext } from "../react/global-context";
export interface StatefulBaseComponentConstructor<P, S extends object> extends React.ComponentClass<P>, React.ComponentLifecycle<P, S> {
new (props?: P, context?: any): StatefulBaseComponent<P, S>;
}
export declare abstract class StatefulBaseComponent<P, S extends object> extends React.Component<P, S> implements GlobalContext {
readonly context: any;
private static _bindingMethods;
abstract state: S;
constructor(props: P, context: any);
afterConstruct<T>(props: P, context: T): void;
abstract render(): ReactElement<any> | null;
}
export interface BaseComponentConstructor<P> extends React.ComponentClass<P>, React.ComponentLifecycle<P, {}> {
new (props?: P, context?: any): BaseComponent<P>;
}
export interface ReactComponentConstructor<P> extends React.ComponentClass<P>, React.ComponentLifecycle<P, any> {
new (props?: P, context?: any): React.Component<P, any>;
}
/** Redux base component */
export declare abstract class BaseComponent<P> extends StatefulBaseComponent<P, {}> implements GlobalContext {
state: {};
}
export declare function BindThis<T>(target: StatefulBaseComponent<any, any>, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>): TypedPropertyDescriptor<T>;