fullts
Version:
Full stack framework in TypeScript, based on TSRPC.
45 lines (44 loc) • 1.57 kB
TypeScript
import * as React from "react";
import { ITsrpcClient, TsrpcPtl } from "tsrpc-protocol";
import SuperPromise from "k8w-super-promise";
import FulltsApp from './FulltsApp';
import * as PropTypes from 'prop-types';
export default class FulltsComponent<P = {}, S = {}> extends React.Component<P, S> implements ITsrpcClient {
static contextTypes: {
fullTsApp: PropTypes.Requireable<FulltsApp>;
};
constructor(props: P, context?: any);
protected _apiRequests: {
[sn: number]: SuperPromise<any>;
};
callApi<Req, Res>(ptl: TsrpcPtl<Req, Res>, req?: Req): SuperPromise<Res>;
/**
* Current FullTSApp Instance
*/
readonly app: FulltsApp;
private _componentWillUnmount;
private _cancelAllApiRequest;
private _setTimeoutTimers;
/**
* 同原生setTimeout 但uncomponent时会自动清除
* @param handler
* @param ms
*/
setTimeout(handler: () => void, ms: number): number;
private _setIntervalTimers;
/**
* 同原生setInterval 但uncomponent时会自动清除
* @param handler
* @param ms
*/
setInterval(handler: () => void, ms: number): number;
private _globalEventListeners;
/**
* 同xxx.addEventListener unmount时会自动removeEventListener
* @param target
* @param type
* @param listener
* @param options
*/
addEventListener<T extends Event = Event>(target: EventTarget, type: string, listener: (e: T) => void, options?: boolean | AddEventListenerOptions): void;
}