cloneElement

ReactElement cloneElement(

  1. ReactElement element, [
  2. Map<String, Object?>? props,
  3. List<ReactElement>? children
])

Clones and returns a new React element using element as the starting point.

The config argument allows you to override props, and children allows you to provide new children.

Example:

final original = pEl('Original');
final cloned = cloneElement(original, {'className': 'cloned'});

Implementation

ReactElement cloneElement(
  ReactElement element, [
  Map<String, Object?>? props,
  List<ReactElement>? children,
]) => ReactElement._(
  (children != null && children.isNotEmpty)
      ? _cloneElementWithChildren(
          element,
          props != null ? createProps(props) : null,
          children.toJS,
        )
      : (props != null)
      ? React.cloneElement(element, createProps(props))
      : React.cloneElement(element),
);