refract-xstream
Version:
Refract bindings for React with xstream: harness the power of reactive programming to supercharge your components!
33 lines (32 loc) • 924 B
TypeScript
/// <reference types="react" />
import * as React from 'react'
import { Handler, ErrorHandler, PushEvent } from './baseTypes'
import { Aperture } from './observable'
export interface State {
replace?: boolean
props: object
renderEffect: boolean
children: React.ReactNode | null
}
export interface Config<Props, Effect, Context = any> {
handler?: Handler<Props, Effect, Context>
errorHandler?: ErrorHandler<Props, Context>
Context?: React.Context<Context>
mergeProps?: boolean
decorateProps?: boolean
}
export declare const withEffects: <
Props,
Effect,
ChildProps = Props,
Context = any
>(
aperture: Aperture<Props, Effect, Context>,
config?: Config<Props, Effect, Context>
) => (
BaseComponent?: React.ComponentType<
ChildProps & {
pushEvent: PushEvent
}
>
) => React.ComponentClass<Props, any>