Repository URL to install this package:
Version:
0.9.5 ▾
|
/**
* @see https://medium.com/@mtiller/react-16-3-context-api-intypescript-45c9eeb7a384
*/
import * as ReactBase from 'react'
declare module 'react' {
interface StrictMode extends ReactBase.Fragment {}
type Provider<T> = ReactBase.ComponentType<{
value: T
children?: ReactNode
}>
type Consumer<T> = ComponentType<{
children: (value: T) => ReactNode
unstable_observedBits?: number
}>
interface Context<T> {
Provider: Provider<T>
Consumer: Consumer<T>
}
function createContext<T>(
defaultValue: T,
calculateChangedBits?: (prev: T, next: T) => number
): Context<T>
type RefObject<T> = {
value: T | null
}
/**
* @todo need to find how to extend typings
* @todo @extends ComponentLifecycle
*/
class Component<
Props = React.Props,
State = React.ComponentState,
Refs = ReactBase.Ref
> extends ReactBase.Component<Props, State, Refs> {
static fetchData(): Promise<Object>
static getDerivedStateFromProps(nextProps: Props, prevState: State): State
getSnapshotBeforeUpdate(nextProps: Props, prevState: State): any
}
/**
* @api https://github.com/reactjs/rfcs/blob/master/text/0017-new-create-ref.md
*/
interface React extends ReactBase {
createRef<T>(): RefObject<T>
static StrictMode: StrictMode
}
}
declare module 'react-dom' {
function flushSync(onFlush: () => void): void {}
}