Nicht abgefangener Fehler: Invariant Violation: Element-Typ ist ungültig: erwartet einen string

  • ich versuche zu Debuggen mein reagieren-code.
  • in meinem render-Methode, die ich versuchen, debugger und debugger.
  • nachdem ich Schritt über retun-Methode, die wird warning.js.
  • nachdem ich Schritt über warning.js wenn die Bedingungen seiner werde instantiateReactComponent.js
  • Ich bin nicht sicher, warum es sich auf verschiedene Dateien. können Sie mir sagen, warum es sich auf verschiedene Dateien.
  • nicht sicher, wie Sie Sie Debuggen.
  • es wäre toll, wenn Ihr mir einige Erklärungen, so dass in Zukunft kann ich den Fehler beheben mein selbst
  • Bereitstellung der Ausschnitt aus dem code, wo es geht im Schritt über-Funktion rufen jedes mal

    Fehler
    invariante.js?f23e:39 nicht abgefangener Fehler: Invariant Violation: Element-Typ ist ungültig: erwartet einen string (für die eingebauten Komponenten) oder eine Klasse/Funktion (für composite-Bauteile), aber bekam: undefined. Überprüfen Sie die render-Methode von sports-container.

    render() {
    const { sportsType, sportsDevice, sportsWordings, id } = diese.Requisiten;
    lassen Sie sportsEvent = true;

        debugger;
    
        if (sportsEvent === true) {
            return (

    warning.js

/**
* Ähnlich invariant, sondern nur protokolliert eine Warnung, wenn die Bedingung nicht erfüllt ist.
* Diese kann benutzt werden, um log-Ausgaben in die Entwicklung von Umgebungen in kritischen
* Pfade. Entfernen der logging-code für Produktionsumgebungen halten die
* Logik und Folgen Sie den gleichen code-Pfade.
*/

var warning = emptyFunction;

if (process.env.NODE_ENV !== 'production') {
  warning = function (condition, format) {
    for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
      args[_key - 2] = arguments[_key];
    }

    if (format === undefined) {
      throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');
    }

    if (format.indexOf('Failed Composite propType: ') === 0) {
      return; //Ignore CompositeComponent proptype check.
    }

    if (!condition) {
      var argIndex = 0;
      var message = 'Warning: ' + format.replace(/%s/g, function () {
        return args[argIndex++];
      });
      if (typeof console !== 'undefined') {
        console.error(message);
      }
      try {
        //--- Welcome to debugging React ---
        //This error was thrown as a convenience so that you can use this stack
        //to find the callsite that caused this warning to fire.
        throw new Error(message);
      } catch (x) {}
    }
  };
}

instantiateReactComponent

  instance.construct(node);

/**
* Angesichts einer ReactNode, erstellen Sie eine Instanz, die tatsächlich montiert werden.
*
* @param {ReactNode} Knoten
* @return {Objekt} Eine neue Instanz des element-Konstruktor.
* @protected
*/

function instantiateReactComponent(node) {
  var instance;

  if (node === null || node === false) {
    instance = new ReactEmptyComponent(instantiateReactComponent);
  } else if (typeof node === 'object') {
    var element = node;
    !(element && (typeof element.type === 'function' || typeof element.type === 'string')) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Element type is invalid: expected a string (for built-in components) ' + 'or a class/function (for composite components) but got: %s.%s', element.type == null ? element.type : typeof element.type, getDeclarationErrorAddendum(element._owner)) : invariant(false) : undefined;

    //Special case string values
    if (typeof element.type === 'string') {
      instance = ReactNativeComponent.createInternalComponent(element);
    } else if (isInternalComponentType(element.type)) {
      //This is temporarily available for custom components that are not string
      //representations. I.e. ART. Once those are updated to use the string
      //representation, we can drop this code path.
      instance = new element.type(element);
    } else {
      instance = new ReactCompositeComponentWrapper();
    }
  } else if (typeof node === 'string' || typeof node === 'number') {
    instance = ReactNativeComponent.createInstanceForText(node);
  } else {
    !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Encountered invalid React node of type %s', typeof node) : invariant(false) : undefined;
  }

  if (process.env.NODE_ENV !== 'production') {
    process.env.NODE_ENV !== 'production' ? warning(typeof instance.construct === 'function' && typeof instance.mountComponent === 'function' && typeof instance.receiveComponent === 'function' && typeof instance.unmountComponent === 'function', 'Only React Components can be mounted.') : undefined;
  }

  //Sets up the instance. This can probably just move into the constructor now.
  instance.construct(node);
  • Der Rückgabewert von Ihr machen, rufen Sie abgeschnitten wird, die in Ihrer Frage.
  • können Sie mir sagen, warum Ihr das springen zwischen verschiedenen Dateien, wenn ich Schritt über-Funktion im Debugger
  • Da Funktionen definiert sind, in verschiedenen Dateien? Und da können die Funktionen übergeben bekommen um als callbacks, so dass der angerufene kann auch in einer anderen Datei. Ich glaube, dein problem ist nicht allzu schwer zu lösen, aber wenn Sie nicht, zeigen Sie uns Ihre ganze render Funktion, werden wir nie wissen.
  • warum haben Sie Jungs, markieren Sie es negativ ist...ich habe versucht, aber keine Lösung finden können 🙁
  • hey, aber ich wollte nicht schreiben warning.js aber wenn ich Debuggen, die wird es tun Sie wissen, warum...ich habe verstanden, ich gebucht, nur die Hälfte meiner render Methode, da bin ich mehr daran interessiert, Entwickler-tools Debuggen 🙁
  • Nur weil du nicht etwas schreiben, was nicht bedeutet, dass dein code nicht. Reagieren hat viele Dateien, so natürlich die dev-tools Sprung in Funktionen Reagieren. Ich habe nicht downvote Sie, aber Sie sind wahrscheinlich, Sie zu erhalten, weil deine Frage war sehr schlecht formatiert. Und zu guter Letzt, können Sie Ihre volle render-Methode, oder sind Sie gehen, um es zu verbergen von uns Zweck?

InformationsquelleAutor | 2016-04-08
Schreibe einen Kommentar