anchor.diff:  
   /// Creates ReactJS [Component2] instances for Dart components.
   class ReactDartComponentFactoryProxy2<TComponent extends Component2> extends ReactComponentFactoryProxy
  +    with JsBackedMapComponentFactoryMixin
       implements ReactDartComponentFactoryProxy {
     /// The ReactJS class used as the type for all [ReactElement]s built by
     /// this factory.
  
positive.code: 
    @override
    ReactElement build(Map props, [List childrenArgs]) {
      dynamic children = _convertArgsToChildren(childrenArgs);
  
      if (alwaysReturnChildrenAsList && children is! List) {
        children = [children];
      }
  
      Map potentiallyConvertedProps;
  
      final mightNeedConverting = shouldConvertDomProps || props['ref'] != null;
      if (mightNeedConverting) {
        // We can't mutate the original since we can't be certain that the value of the
        // the converted event handler will be compatible with the Map's type parameters.
        // We also want to avoid mutating the original map where possible.
        // So, make a copy and mutate that.
        potentiallyConvertedProps = Map.from(props);
        if (shouldConvertDomProps) {
          _convertEventHandlers(potentiallyConvertedProps);
        }
        _convertRefValue(potentiallyConvertedProps);
      } else {
        potentiallyConvertedProps = props;
      }
  
      // jsifyAndAllowInterop also handles converting props with nested Map/List structures, like `style`
      return factory(jsifyAndAllowInterop(potentiallyConvertedProps), children);
    }
  }
  
  
negative.code: 
    @override
    ReactElement build(Map props, [List childrenArgs]) {
      dynamic children = _generateChildren(childrenArgs);
  
      if (isConsumer) {
        if (children is Function) {
  