package react
- Alphabetic
- By Inheritance
- react
- ReactEventTypes
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Package Members
Type Members
- final class AsyncCallback[A] extends AnyVal
Pure asynchronous callback.
Pure asynchronous callback.
You can think of this as being similar to using
Future
- you can use it in for-comprehensions the same way - exceptAsyncCallback
is pure and doesn't need anExecutionContext
.When combining instances, it's good to know which methods are sequential and which are parallel (or at least concurrent).
The following methods are sequential: - >>=() / flatMap() - >>() & <<() - flatTap()
The following methods are effectively parallel: - *>() & <*() - race() - zip() & zipWith() -
AsyncCallback.traverse
et alIn order to actually run this, or get it into a shape in which in can be run, use one of the following: - toCallback <-- most common - asCallbackToFuture - asCallbackToJsPromise - unsafeToFuture() - unsafeToJsPromise()
A good example is the [Ajax 2 demo](https://japgolly.github.io/scalajs-react/#examples/ajax-2).
- A
The type of data asynchronously produced on success.
- type BackendScope[P, S] = MountedWithRoot[CallbackTo, P, S, P, S]
- type Callback = CallbackTo[Unit]
- final case class CallbackKleisli[A, B](run: (A) => CallbackTo[B]) extends AnyVal with Product with Serializable
A => CallbackTo[B]
akaKleisli[CallbackTo, A, B]
akaReaderT[A, CallbackTo, B]
.A => CallbackTo[B]
akaKleisli[CallbackTo, A, B]
akaReaderT[A, CallbackTo, B]
.Never heard of Kleisli? Basically, a "Kleisli triple" is a function with the shape
A => M[B]
. In this case, theM
is hard-coded toCallbackTo
.This is hard-coded to
CallbackTo
for the same reasons as CallbackOption and for the same reasons that CallbackTo exists.- Since
1.2.0
- final class CallbackOption[A] extends AnyVal
Callback that can short-circuit along the way when conditions you specify, aren't met.
Callback that can short-circuit along the way when conditions you specify, aren't met.
Especially useful for event handlers such as key handlers, drag-and-drop handlers, etc, where you check a condition, perform an effect, check another condition, perform another effect, etc.
This is meant to be lightweight, and be immediately useful without the typical pain of imports, implicit conversions and extension methods then normally accompany monad transforms in Scala.
For a more generic (i.e. beyond Option) or comprehensive monad transformer use Scalaz or similar.
- final class CallbackTo[A] extends AnyVal
A function to be executed later, usually by scalajs-react in response to some kind of event.
A function to be executed later, usually by scalajs-react in response to some kind of event.
The purpose of this class is to lift effects into the type system, and use the compiler to ensure safety around callbacks (without depending on an external library like Scalaz).
() => Unit
is replaced byCallback
. Similarly,ReactEvent => Unit
is replaced byReactEvent => Callback
.- A
The type of result produced when the callback is invoked.
- Since
0.10.0
- sealed trait Children extends AnyRef
Describes how a component uses
.props.children
. - sealed trait ComponentDom extends AnyRef
- sealed abstract class CtorType[-P, +U] extends AnyRef
- type GenericComponent[P, CT[-p, +u] <: CtorType[p, u], U] = ComponentSimple[P, CT, U]
- type JsComponent[P <: Object, S <: Object, CT[-p, +u] <: CtorType[p, u]] = react.component.Js.ComponentWithRoot[P, CT, UnmountedWithRawType[P, S, RawMounted[P, S]], P, CT, UnmountedWithRawType[P, S, RawMounted[P, S]]]
- type JsComponentWithFacade[P <: Object, S <: Object, F <: Object, CT[-p, +u] <: CtorType[p, u]] = react.component.Js.ComponentWithRoot[P, CT, UnmountedWithRawType[P, S, RawMounted[P, S] with F], P, CT, UnmountedWithRawType[P, S, RawMounted[P, S] with F]]
- type JsFnComponent[P <: Object, CT[-p, +u] <: CtorType[p, u]] = react.component.JsFn.ComponentWithRoot[P, CT, Unmounted[P], P, CT, Unmounted[P]]
- type JsForwardRefComponent[P <: Object, R, CT[-p, +u] <: CtorType[p, u]] = ComponentWithRoot[P, R, CT, Unmounted[P, R], P, CT, Unmounted[P, R]]
- type Key = |[String, JsNumber]
- final class ModStateFn[F[_], S] extends AbstractFunction2[(S) => Option[S], Callback, F[Unit]] with ModState[F, S]
- type ModStateFnImpure[S] = ModStateFn[Id, S]
- type ModStateFnPure[S] = ModStateFn[CallbackTo, S]
- final class ModStateWithPropsFn[F[_], P, S] extends AbstractFunction2[(S, P) => Option[S], Callback, F[Unit]] with ModStateWithProps[F, P, S]
- type ModStateWithPropsFnImpure[P, S] = ModStateWithPropsFn[Id, P, S]
- type ModStateWithPropsFnPure[P, S] = ModStateWithPropsFn[CallbackTo, P, S]
- final class PropsChildren extends AnyVal
- final type ReactAnimationEvent = SyntheticAnimationEvent[Node]
- Definition Classes
- ReactEventTypes
- final type ReactAnimationEventFrom[+N <: Node] = SyntheticAnimationEvent[N]
- Definition Classes
- ReactEventTypes
- final type ReactAnimationEventFromHtml = SyntheticAnimationEvent[Element]
- Definition Classes
- ReactEventTypes
- final type ReactAnimationEventFromInput = SyntheticAnimationEvent[Input]
- Definition Classes
- ReactEventTypes
- final type ReactAnimationEventFromTextArea = SyntheticAnimationEvent[TextArea]
- Definition Classes
- ReactEventTypes
- final case class ReactCaughtError(rawError: Any, rawInfo: ErrorInfo) extends Product with Serializable
The data captured by React when it catches an error for the
componentDidCatch
event.The data captured by React when it catches an error for the
componentDidCatch
event.- rawError
The JS error. Usually a js.Error. If you threw an error using
throw js.JavaScriptException("OMG")
then is value is just the argument"OMG"
.
- Since
1.6.0
- final type ReactClipboardEvent = SyntheticClipboardEvent[Node]
- Definition Classes
- ReactEventTypes
- final type ReactClipboardEventFrom[+N <: Node] = SyntheticClipboardEvent[N]
- Definition Classes
- ReactEventTypes
- final type ReactClipboardEventFromHtml = SyntheticClipboardEvent[Element]
- Definition Classes
- ReactEventTypes
- final type ReactClipboardEventFromInput = SyntheticClipboardEvent[Input]
- Definition Classes
- ReactEventTypes
- final type ReactClipboardEventFromTextArea = SyntheticClipboardEvent[TextArea]
- Definition Classes
- ReactEventTypes
- final type ReactCompositionEvent = SyntheticCompositionEvent[Node]
- Definition Classes
- ReactEventTypes
- final type ReactCompositionEventFrom[+N <: Node] = SyntheticCompositionEvent[N]
- Definition Classes
- ReactEventTypes
- final type ReactCompositionEventFromHtml = SyntheticCompositionEvent[Element]
- Definition Classes
- ReactEventTypes
- final type ReactCompositionEventFromInput = SyntheticCompositionEvent[Input]
- Definition Classes
- ReactEventTypes
- final type ReactCompositionEventFromTextArea = SyntheticCompositionEvent[TextArea]
- Definition Classes
- ReactEventTypes
- final type ReactDragEvent = SyntheticDragEvent[Node]
- Definition Classes
- ReactEventTypes
- final type ReactDragEventFrom[+N <: Node] = SyntheticDragEvent[N]
- Definition Classes
- ReactEventTypes
- final type ReactDragEventFromHtml = SyntheticDragEvent[Element]
- Definition Classes
- ReactEventTypes
- final type ReactDragEventFromInput = SyntheticDragEvent[Input]
- Definition Classes
- ReactEventTypes
- final type ReactDragEventFromTextArea = SyntheticDragEvent[TextArea]
- Definition Classes
- ReactEventTypes
- final type ReactEvent = SyntheticEvent[Node]
- Definition Classes
- ReactEventTypes
- final type ReactEventFrom[+N <: Node] = SyntheticEvent[N]
- Definition Classes
- ReactEventTypes
- final type ReactEventFromHtml = SyntheticEvent[Element]
- Definition Classes
- ReactEventTypes
- final type ReactEventFromInput = SyntheticEvent[Input]
- Definition Classes
- ReactEventTypes
- final type ReactEventFromTextArea = SyntheticEvent[TextArea]
- Definition Classes
- ReactEventTypes
- trait ReactEventTypes extends AnyRef
- final class ReactExt_DomEvent extends AnyVal
- implicit final class ReactExt_DomNode extends AnyVal
Extensions to plain old DOM.
Extensions to plain old DOM.
- Annotations
- @inline()
- implicit final class ReactExt_OptionCallback extends AnyVal
- Annotations
- @inline()
- final class ReactExt_ReactEvent[E <: ReactEvent] extends AnyVal
- final class ReactExt_ReactKeyboardEvent[N <: Node] extends AnyVal
- implicit final class ReactExt_ScalaComponent[P, S, B, CT[-p, +u] <: CtorType[p, u]] extends AnyVal
- implicit final class ReactExtrasExt_Any[A] extends AnyVal
- final type ReactFocusEvent = SyntheticFocusEvent[Node]
- Definition Classes
- ReactEventTypes
- final type ReactFocusEventFrom[+N <: Node] = SyntheticFocusEvent[N]
- Definition Classes
- ReactEventTypes
- final type ReactFocusEventFromHtml = SyntheticFocusEvent[Element]
- Definition Classes
- ReactEventTypes
- final type ReactFocusEventFromInput = SyntheticFocusEvent[Input]
- Definition Classes
- ReactEventTypes
- final type ReactFocusEventFromTextArea = SyntheticFocusEvent[TextArea]
- Definition Classes
- ReactEventTypes
- final type ReactFormEvent = SyntheticFormEvent[Node]
- Definition Classes
- ReactEventTypes
- final type ReactFormEventFrom[+N <: Node] = SyntheticFormEvent[N]
- Definition Classes
- ReactEventTypes
- final type ReactFormEventFromHtml = SyntheticFormEvent[Element]
- Definition Classes
- ReactEventTypes
- final type ReactFormEventFromInput = SyntheticFormEvent[Input]
- Definition Classes
- ReactEventTypes
- final type ReactFormEventFromTextArea = SyntheticFormEvent[TextArea]
- Definition Classes
- ReactEventTypes
- final type ReactKeyboardEvent = SyntheticKeyboardEvent[Node]
- Definition Classes
- ReactEventTypes
- final type ReactKeyboardEventFrom[+N <: Node] = SyntheticKeyboardEvent[N]
- Definition Classes
- ReactEventTypes
- final type ReactKeyboardEventFromHtml = SyntheticKeyboardEvent[Element]
- Definition Classes
- ReactEventTypes
- final type ReactKeyboardEventFromInput = SyntheticKeyboardEvent[Input]
- Definition Classes
- ReactEventTypes
- final type ReactKeyboardEventFromTextArea = SyntheticKeyboardEvent[TextArea]
- Definition Classes
- ReactEventTypes
- final type ReactMouseEvent = SyntheticMouseEvent[Node]
- Definition Classes
- ReactEventTypes
- final type ReactMouseEventFrom[+N <: Node] = SyntheticMouseEvent[N]
- Definition Classes
- ReactEventTypes
- final type ReactMouseEventFromHtml = SyntheticMouseEvent[Element]
- Definition Classes
- ReactEventTypes
- final type ReactMouseEventFromInput = SyntheticMouseEvent[Input]
- Definition Classes
- ReactEventTypes
- final type ReactMouseEventFromTextArea = SyntheticMouseEvent[TextArea]
- Definition Classes
- ReactEventTypes
- final type ReactPointerEvent = SyntheticPointerEvent[Node]
- Definition Classes
- ReactEventTypes
- final type ReactPointerEventFrom[+N <: Node] = SyntheticPointerEvent[N]
- Definition Classes
- ReactEventTypes
- final type ReactPointerEventFromHtml = SyntheticPointerEvent[Element]
- Definition Classes
- ReactEventTypes
- final type ReactPointerEventFromInput = SyntheticPointerEvent[Input]
- Definition Classes
- ReactEventTypes
- final type ReactPointerEventFromTextArea = SyntheticPointerEvent[TextArea]
- Definition Classes
- ReactEventTypes
- final type ReactTouchEvent = SyntheticTouchEvent[Node]
- Definition Classes
- ReactEventTypes
- final type ReactTouchEventFrom[+N <: Node] = SyntheticTouchEvent[N]
- Definition Classes
- ReactEventTypes
- final type ReactTouchEventFromHtml = SyntheticTouchEvent[Element]
- Definition Classes
- ReactEventTypes
- final type ReactTouchEventFromInput = SyntheticTouchEvent[Input]
- Definition Classes
- ReactEventTypes
- final type ReactTouchEventFromTextArea = SyntheticTouchEvent[TextArea]
- Definition Classes
- ReactEventTypes
- final type ReactTransitionEvent = SyntheticTransitionEvent[Node]
- Definition Classes
- ReactEventTypes
- final type ReactTransitionEventFrom[+N <: Node] = SyntheticTransitionEvent[N]
- Definition Classes
- ReactEventTypes
- final type ReactTransitionEventFromHtml = SyntheticTransitionEvent[Element]
- Definition Classes
- ReactEventTypes
- final type ReactTransitionEventFromInput = SyntheticTransitionEvent[Input]
- Definition Classes
- ReactEventTypes
- final type ReactTransitionEventFromTextArea = SyntheticTransitionEvent[TextArea]
- Definition Classes
- ReactEventTypes
- final type ReactUIEvent = SyntheticUIEvent[Node]
- Definition Classes
- ReactEventTypes
- final type ReactUIEventFrom[+N <: Node] = SyntheticUIEvent[N]
- Definition Classes
- ReactEventTypes
- final type ReactUIEventFromHtml = SyntheticUIEvent[Element]
- Definition Classes
- ReactEventTypes
- final type ReactUIEventFromInput = SyntheticUIEvent[Input]
- Definition Classes
- ReactEventTypes
- final type ReactUIEventFromTextArea = SyntheticUIEvent[TextArea]
- Definition Classes
- ReactEventTypes
- final type ReactWheelEvent = SyntheticWheelEvent[Node]
- Definition Classes
- ReactEventTypes
- final type ReactWheelEventFrom[+N <: Node] = SyntheticWheelEvent[N]
- Definition Classes
- ReactEventTypes
- final type ReactWheelEventFromHtml = SyntheticWheelEvent[Element]
- Definition Classes
- ReactEventTypes
- final type ReactWheelEventFromInput = SyntheticWheelEvent[Input]
- Definition Classes
- ReactEventTypes
- final type ReactWheelEventFromTextArea = SyntheticWheelEvent[TextArea]
- Definition Classes
- ReactEventTypes
- final class Reusability[A] extends AnyVal
Tests whether one instance can be used in place of another.
Tests whether one instance can be used in place of another. Used mostly to compare properties and state of a component to avoid unnecessary updates.
If you imagine a class with 8 fields, equality would compare all 8 fields where as this would typically just compare the ID field, the update-date, or the revision number. You might think of this as a very quick version of equality.
Don't miss
Reusability.shouldComponentUpdate
which can be applied to a component viaScalaComponent.build#configure
.- Since
0.9.0
- final class Reusable[+A] extends AnyRef
A value that has been explicitly paired with a (potentially ad-hoc) Reusability instance.
A value that has been explicitly paired with a (potentially ad-hoc) Reusability instance.
- A
The type of value.
- Since
1.0.0
- type ScalaComponent[P, S, B, CT[-p, +u] <: CtorType[p, u]] = react.component.Js.ComponentWithRoot[P, CT, Unmounted[P, S, B], Box[P], CT, JsUnmounted[P, S, B]]
- type ScalaFnComponent[P, CT[-p, +u] <: CtorType[p, u]] = react.component.JsFn.ComponentWithRoot[P, CT, Unmounted[P], Box[P], CT, Unmounted[Box[P]]]
- type ScalaForwardRefComponent[P, R, CT[-p, +u] <: CtorType[p, u]] = ComponentWithRoot[P, R, CT, Unmounted[P, R], Box[P], CT, Unmounted[Box[P], R]]
- trait ScalaVersionSpecificReusability extends AnyRef
Reusability specific to Scala 2.13
- final class SetStateFn[F[_], S] extends AbstractFunction2[Option[S], Callback, F[Unit]] with SetState[F, S]
- type SetStateFnImpure[S] = SetStateFn[Id, S]
- type SetStateFnPure[S] = SetStateFn[CallbackTo, S]
- trait StateAccess[F[_], S] extends Write[F, S]
Base class for something that has read/write state access (under the same effect type).
Base class for something that has read/write state access (under the same effect type).
Passing this around (top-level) is fine but do not use it in a generic/library/helper method. In intermediary positions, use StateAccessor instead.
- F
The type of effect when accessing state.
- S
State type.
- type StateAccessImpure[S] = StateAccess[Id, S]
- type StateAccessPure[S] = StateAccess[CallbackTo, S]
- trait StateAccessorImplicits extends StateAccessorImplicits1
- trait StateAccessorImplicits1 extends StateAccessorImplicits2
- trait StateAccessorImplicits2 extends AnyRef
- sealed trait UpdateSnapshot extends AnyRef
- type ~=>[-A, +B] = Reusable[(A) => B]
Value Members
- val GenericComponent: Generic.type
- val JsComponent: Js.type
- val JsFnComponent: JsFn.type
- val JsForwardRefComponent: JsForwardRef.type
- val ScalaComponent: Scala.type
- val ScalaFnComponent: ScalaFn.type
- val ScalaForwardRefComponent: ScalaForwardRef.type
- val preventDefault: (ReactEvent) => Callback
- val preventDefaultAndStopPropagation: (ReactEvent) => Callback
- implicit def scalajsReactRawPropsChildrenToJsUndef(r: react.raw.PropsChildren): UndefOr[react.raw.PropsChildren]
- Annotations
- @inline()
- val stopPropagation: (ReactEvent) => Callback
- implicit def toReactExt_DomEvent(e: Event): ReactExt_DomEvent
- Definition Classes
- ReactEventTypes
- implicit def toReactExt_ReactEvent[E <: ReactEvent](e: E): ReactExt_ReactEvent[E]
- Definition Classes
- ReactEventTypes
- implicit def toReactExt_ReactKeyboardEvent[N <: Node](e: ReactKeyboardEventFrom[N]): ReactExt_ReactKeyboardEvent[N]
- Definition Classes
- ReactEventTypes
- object AsyncCallback
- object Callback
A callback with no return value.
A callback with no return value. Equivalent to
() => Unit
.- See also
CallbackTo
- object CallbackKleisli extends Serializable
- object CallbackOption
- object CallbackTo
- object Children
- object ComponentDom
- object CtorType
- object ModStateFn
- object ModStateWithPropsFn
- object PropsChildren
- object React
- object ReactDOM
- object ReactDOMServer
- object ReactMouseEvent
- object Ref
- object Reusability extends ScalaVersionSpecificReusability
- object Reusable
- object ScalaJsReactConfig
Global scalajs-react config.
Global scalajs-react config.
It's a little horrible in that we're using global variables *and* you need to configure them in your
main
method *before* any data/components are loaded that these settings. But it's a decent trade-off in this case. - object SetStateFn
- object StateAccess
- object StateAccessor extends StateAccessorImplicits
Type-classes that provide read and/or write access to state.
Type-classes that provide read and/or write access to state.
The syntax is a little wonky for technical reasons. For read access, it's
typeclass.state(i): F[S]
. For write access, it'stypeclass(i).setState(...): F[Unit]
. - object UpdateSnapshot