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>
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}</>;
}
}
Called immediately before mounting occurs, and before Component#render
.
Avoid introducing any side-effects or subscriptions in this method.
This method will not stop working in React 17.
Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.
Called when the component may be receiving new props. React may call this even if props have not changed, so be sure to compare new and existing props if you only want to handle changes.
Calling Component#setState
generally does not trigger this method.
This method will not stop working in React 17.
Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.
Called immediately before rendering when new props or state is received. Not called for the initial render.
Note: You cannot call Component#setState
here.
This method will not stop working in React 17.
Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.
bindZoomListener - If props.zoomable
, binds a listener for
"zoom" events to the SVG and sets scaleExtent to min/max
specified in props.scaleExtent
.
Takes a hierarchy point node and centers the node on the screen
if the dimensions parameter is passed to Tree
.
This code is adapted from Rob Schmuecker's centerNode method. Link: http://bl.ocks.org/robschmuecker/7880033
Collapses all nodes in nodeSet
that are neighbors (same depth) of targetNode
.
Catches exceptions generated in descendant components. Unhandled exceptions will cause the entire component tree to unmount.
Called immediately before mounting occurs, and before Component#render
.
Avoid introducing any side-effects or subscriptions in this method.
Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.
Called when the component may be receiving new props. React may call this even if props have not changed, so be sure to compare new and existing props if you only want to handle changes.
Calling Component#setState
generally does not trigger this method.
Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.
Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as
cancelled network requests, or cleaning up any DOM elements created in componentDidMount
.
Called immediately before rendering when new props or state is received. Not called for the initial render.
Note: You cannot call Component#setState
here.
Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.
Recursively walks the nested nodeSet
until all nodes at depth
have been found.
Target depth for which nodes should be returned
Array of nested node
objects
Accumulator for matches, passed between recursive calls
Recursively walks the nested nodeSet
until a node matching nodeId
is found.
Generates tree elements (nodes
and links
) by
grabbing the rootNode from this.state.data[0]
.
Restricts tree depth to props.initialDepth
if defined and if this is
the initial render of the tree.
Determines which additional className
prop should be passed to the node & returns it.
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.
Finds the node matching nodeId
and
expands/collapses it, depending on the current state of
its internal collapsed
property.
setState
callback receives targetNode and handles
props.onClick
if defined.
Handles the user-defined onLinkClick
function.
Handles the user-defined onLinkMouseOut
function.
Handles the user-defined onLinkMouseOver
function.
Handles the user-defined onNodeClick
function.
Handles the user-defined onNodeMouseOut
function.
Handles the user-defined onNodeMouseOver
function.
Collapses all tree nodes with a depth
larger than initialDepth
.
Array of nodes generated by generateTree
Maximum initial depth the tree should render
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.
Assigns internal properties that are required for tree
manipulation to each node in the data
set and returns a new data
array.
Set initial zoom and position.
Also limit zoom level according to scaleExtent
on initial display. This is necessary,
because the first time we are setting it as an SVG property, instead of going
through D3's scaling mechanism, which would have picked up both properties.
Recursively sets the internal collapsed
property of
the passed TreeNodeDatum
and its children to true
.
Sets the internal collapsed
property of
the passed TreeNodeDatum
object to false
.
Generated using TypeDoc
https://reactjs.org/docs/legacy-context.html