Options
All
  • Public
  • Public/Protected
  • All
Menu

Class UseSignal<SENDER, ARGS, SS>

UseSignal provides a way to hook up a Phosphor signal to a React element, so that the element is re-rendered every time the signal fires.

It is implemented through the "render props" technique, using the children prop as a function to render, so that it can be used either as a prop or as a child of this element https://reactjs.org/docs/render-props.html

Example as child:

function LiveButton(isActiveSignal: ISignal<any, boolean>) {
 return (
   <UseSignal signal={isActiveSignal} initialArgs={True}>
    {(_, isActive) => <Button isActive={isActive}>}
   </UseSignal>
 )
}

Example as prop:

function LiveButton(isActiveSignal: ISignal<any, boolean>) {
 return (
   <UseSignal
     signal={isActiveSignal}
     initialArgs={True}
     children={(_, isActive) => <Button isActive={isActive}>}
   />
 )
}

Type parameters

  • SENDER

  • ARGS

  • SS

Hierarchy

Index

Constructors

constructor

Properties

context

context: any

If using the new style context, re-declare this in your class to be the React.ContextType of your static contextType. Should be used with type annotation or static contextType.

static contextType = MyContext
// For TS pre-3.7:
context!: React.ContextType<typeof MyContext>
// For TS 3.7 and above:
declare context: React.ContextType<typeof MyContext>
see

https://reactjs.org/docs/context.html

props

props: Readonly<IUseSignalProps<SENDER, ARGS>> & Readonly<{ children?: ReactNode }>

refs

refs: {}

Type declaration

  • [key: string]: ReactInstance

state

state: Readonly<IUseSignalState<SENDER, ARGS>>

Static Optional contextType

contextType: Context<any>

If set, this.context will be set at runtime to the current value of the given Context.

Usage:

type MyContext = number
const Ctx = React.createContext<MyContext>(0)

class Foo extends React.Component {
  static contextType = Ctx
  context!: React.ContextType<typeof Ctx>
  render () {
    return <>My context's value: {this.context}</>;
  }
}
see

https://reactjs.org/docs/context.html#classcontexttype

Methods

Optional UNSAFE_componentWillMount

  • UNSAFE_componentWillMount(): void

Optional UNSAFE_componentWillReceiveProps

  • UNSAFE_componentWillReceiveProps(nextProps: Readonly<IUseSignalProps<SENDER, ARGS>>, nextContext: any): void

Optional UNSAFE_componentWillUpdate

  • UNSAFE_componentWillUpdate(nextProps: Readonly<IUseSignalProps<SENDER, ARGS>>, nextState: Readonly<IUseSignalState<SENDER, ARGS>>, nextContext: any): void

Optional componentDidCatch

  • componentDidCatch(error: Error, errorInfo: ErrorInfo): void
  • Catches exceptions generated in descendant components. Unhandled exceptions will cause the entire component tree to unmount.

    Parameters

    • error: Error
    • errorInfo: ErrorInfo

    Returns void

componentDidMount

  • componentDidMount(): void

Optional componentDidUpdate

  • Called immediately after updating occurs. Not called for the initial render.

    The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

    Parameters

    Returns void

Optional componentWillMount

  • componentWillMount(): void

Optional componentWillReceiveProps

  • componentWillReceiveProps(nextProps: Readonly<IUseSignalProps<SENDER, ARGS>>, nextContext: any): void

componentWillUnmount

  • componentWillUnmount(): void

Optional componentWillUpdate

forceUpdate

  • forceUpdate(callback?: undefined | (() => void)): void
  • Parameters

    • Optional callback: undefined | (() => void)

    Returns void

Optional getSnapshotBeforeUpdate

  • Runs before React applies the result of render to the document, and returns an object to be given to componentDidUpdate. Useful for saving things such as scroll position before render causes changes to it.

    Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated lifecycle events from running.

    Parameters

    Returns SS | null

render

  • render(): undefined | null | string | number | false | true | {} | ReactElement<any, string | ((props: P) => ReactElement | null) | {}> | ReactNodeArray | ReactPortal
  • Returns undefined | null | string | number | false | true | {} | ReactElement<any, string | ((props: P) => ReactElement | null) | {}> | ReactNodeArray | ReactPortal

setState

  • setState<K>(state: ((prevState: Readonly<IUseSignalState<SENDER, ARGS>>, props: Readonly<IUseSignalProps<SENDER, ARGS>>) => null | S | {}) | (null | S | {}), callback?: undefined | (() => void)): void
  • Type parameters

    Parameters

    • state: ((prevState: Readonly<IUseSignalState<SENDER, ARGS>>, props: Readonly<IUseSignalProps<SENDER, ARGS>>) => null | S | {}) | (null | S | {})
    • Optional callback: undefined | (() => void)

    Returns void

Optional shouldComponentUpdate

  • shouldComponentUpdate(nextProps: Readonly<IUseSignalProps<SENDER, ARGS>>, nextState: Readonly<IUseSignalState<SENDER, ARGS>>, nextContext: any): boolean
  • Called to determine whether the change in props and state should trigger a re-render.

    Component always returns true. PureComponent implements a shallow comparison on props and state and returns true if any props or states have changed.

    If false is returned, Component#render, componentWillUpdate and componentDidUpdate will not be called.

    Parameters

    Returns boolean

Private slot

  • slot(sender: SENDER, args: ARGS): void

Generated using TypeDoc