@uifabric/experiments
Version:
Experimental React components for building experiences for Office 365.
48 lines (47 loc) • 1.75 kB
TypeScript
/// <reference types="react" />
import * as React from 'react';
import { IRefObject } from '../Utilities';
/**
* BaseProps interface.
*
* @public
*/
export interface IBaseProps<T = any> {
componentRef?: IRefObject<T>;
}
/**
* BaseComponent class, which provides basic helpers for all components.
*
* @public
*/
export declare class BaseComponentMin<TComponentProps extends IBaseProps = {}, TState = {}> extends React.Component<TComponentProps, TState> {
/**
* Controls whether the componentRef prop will be resolved by this component instance. If you are
* implementing a passthrough (higher-order component), you would set this to false and pass through
* the props to the inner component, allowing it to resolve the componentRef.
*/
protected _skipComponentRefResolution: boolean;
/**
* BaseComponent constructor
* @param props - The props for the component.
* @param context - The context for the component.
*/
constructor(props: TComponentProps, context?: any);
/**
* When the component will receive props, make sure the componentRef is updated.
*/
componentWillReceiveProps(newProps: Readonly<TComponentProps>, newContext: any): void;
/**
* When the component has mounted, update the componentRef.
*/
componentDidMount(): void;
/**
* If we have disposables, dispose them automatically on unmount.
*/
componentWillUnmount(): void;
/**
* Updates the componentRef (by calling it with "this" when necessary.)
*/
protected _updateComponentRef(currentProps: IBaseProps, newProps?: IBaseProps): void;
private _setComponentRef<TRefInterface>(ref, value);
}