Skip to main content

Home > @jsplumbtoolkit/browser-ui-react

browser-ui-react package

Provides integration with React (17+).

Classes

ClassDescription
BaseGroupComponentBase component that your group components can extend, to get access to a few helper methods. It is not imperative that you extend this component.
BaseNodeComponentBase component that your node components can extend, to get access to a few helper methods. It is not imperative that you extend this component.
BasePortComponentBase class for components that render Ports. Your port components can extend this to get access to a few helper methods. You are expected to supply a parent
BrowserUIReactExtension of the Toolkit suitable for use with the React integration.
JsPlumbToolkitMiniviewComponentjsPlumb Toolkit Miniview Component
JsPlumbToolkitSurfaceComponentProvides a React component that fronts a surface widget.

Functions

FunctionDescription
newInstance(options)Creates a new instance of the Toolkit for use with the React integration.

Interfaces

InterfaceDescription
BasePortProps
MiniviewProps
MiniviewState
PropsWithContext
SurfaceProps

Props for the Surface component. You are expected to provide, at a minimum, an instance of BrowserUIReact to this component, and in practise you will also almost certainly want to pass a view and renderParams.

Asynchronous rendering ----------------------

From version 5.8.0 onwards this component will, by default, render vertices "asynchronously", which is to say that it will hold off informing the Toolkit that the rendering of some vertex has been completed until an internal ResizeObserver detects that the initial hydration of the element is complete. This mechanism is of particular use when you're bulk loading data and you're using React 18, as React 18's rendering pipeline does not always hydrate a component immediately, and the Toolkit cannot therefore effectively run a layout or compute the positions of connectors.

ResizeObserver is supported on all recent versions of modern browsers, but not on IE11. In the absence of ResizeObserver, the component will fall back to the "synchronous" rendering mechanism.

It is extremely unlikely you will want to switch off asynchronous rendering, but you can do so by setting the prop asynchronous to false.

Type Aliases

Type AliasDescription
BasePortState
BaseVertexState