Provides an enum of all possible VNode Flags used when calling Inferno.createVNode
npm install inferno-vnode-flagsInferno VNode Flags is a small utility library for Inferno.
Usage of inferno-vnode-flags should be limited to assigning VNodeFlags and ChildFlags when using creating vNodes.
```
npm install --save inferno-vnode-flags
VNodeFlags:
- VNodeFlags.HtmlElementVNodeFlags.ComponentUnknown
- VNodeFlags.ComponentClass
- VNodeFlags.ComponentFunction
- VNodeFlags.Text
- VNodeFlags.SvgElement
- VNodeFlags.InputElement
- VNodeFlags.TextareaElement
- VNodeFlags.SelectElement
- VNodeFlags.Portal
- VNodeFlags.ReCreate
- (JSX $ReCreate) always re-creates the vNodeVNodeFlags.ContentEditable
- VNodeFlags.Fragment
- VNodeFlags.InUse
- VnodeFlags.ForwardRef
- VNodeFlags.Normalized
-
VNodeFlags Masks:
- VNodeFlags.ForwardRefComponent Functional component wrapped in forward refVNodeFlags.FormElement
- - Is form elementVNodeFlags.Element
- - Is vNode elementVNodeFlags.Component
- - Is vNode ComponentVNodeFlags.DOMRef
- - Bit set when vNode holds DOM referenceVNodeFlags.InUseOrNormalized
- - VNode is used somewhere else or came from normalization processVNodeFlags.ClearInUseNormalized
- - Opposite mask of InUse or Normalized
ChildFlags
- ChildFlags.UnknownChildren needs NormalizationChildFlags.HasInvalidChildren
- is invalid (null, undefined, false, true)ChildFlags.HasVNodeChildren
- (JSX $HasVNodeChildren) is single vNode (Element/Component)ChildFlags.HasNonKeyedChildren
- (JSX $HasNonKeyedChildren) is Array of vNodes non keyed (no nesting, no holes)ChildFlags.HasKeyedChildren
- (JSX $HasKeyedChildren) is Array of vNodes keyed (no nesting, no holes)ChildFlags.HasTextChildren
- (JSX $HasTextChildren) vNode contains only text
ChildFlags Masks
- ChildFlags.MultipleChildren` Is Array
You can easily combine multiple flags, by using bitwise operators. A common use case is an element that has keyed children: