Reagieren: Checker ist keine Funktion

Ich bekomme diese komische Warnmeldung in der Konsole für meine React App.

Warnung: Failed propType: checker ist keine Funktion Überprüfen Sie die Render-Methode von Chart .

Ich habe überhaupt keine Checker-Methode. Wenn ich meine propTypes beseitige, ist die Warnung weg. Irgendwelche Ideen?

Meine Reaktionskomponente:

 var Chart = React.createClass({ //... propTypes: { legend: React.PropTypes.bool, max: React.PropTypes.number, min: React.PropTypes.number, series: React.PropTypes.arrayOf( React.PropTypes.shape({ label: React.PropTypes.string, values: React.PropTypes.arrayOf( React.PropTypes.arrayOf( React.PropTypes.oneOfType( React.PropTypes.number, React.PropTypes.object // Date ) ) ), colorIndex: React.PropTypes.string }) ).isRequired, threshold: React.PropTypes.number, type: React.PropTypes.oneOf(['line', 'bar', 'area']), units: React.PropTypes.string, xAxis: React.PropTypes.arrayOf(React.PropTypes.string) }, render: function() { return (<svg>...</svg>); } //... }); 

Die Payload, die ich an die Chart-Komponente schicke, ist diese:

 var series = [ {label: 'first', values: [[5,2], [4,3], [3,3], [2,2], [1,1]], colorIndex: "graph-1"}, {label: 'second', values: [[5,3], [4,2], [3,0], [2,0], [1,0]], colorIndex: "graph-2"} ]; 

  • Wie kann ich eine Reaktion ausführen.js Komponente onclick und erkennen das Ende der Animation
  • Wie benutzt man React Router mit Electron?
  • Verwenden von POST in React ohne Formular?
  • Speichern eines Objekts im Zustand einer React-Komponente?
  • Geschichte Objekt Problem mit React-Router
  • Wie man untergeordnete Komponenten in reaktionsfähig macht
  • Was ist der beste Weg, um mit undefinierten Requisiten in react.js umzugehen?
  • Reagieren Router Push URL nicht ändern
  • 5 Solutions collect form web for “Reagieren: Checker ist keine Funktion”

    Ein Pull-Request wurde mit dem React-Repo verschmolzen, der für den Entwickler ein besseres Feedback liefert, wenn ein Fehler wie dieser wieder passiert.

    Nun wird die Validierungsnachricht wie folgt aussehen:

    Ungültiges Argument, das an oneOf geliefert wird, erwartete eine Instanz von Array.

    https://github.com/facebook/react/pull/3963

    Dies sollte Teil von React sein.

    Veränderung

     React.PropTypes.oneOfType(React.PropTypes.number, React.PropTypes.object) 

    nach

     React.PropTypes.oneOfType([React.PropTypes.number, React.PropTypes.object]) 

    (Das Argument sollte ein Array sein)

    FWIW, ich bekam Failed PropType: typeChecker is not a function . Ich habe bemerkt, dass ich in meinen PropTypes.arrayOf() Eigenschaften in einem Objekt von PropTypes zB PropTypes.arrayOf({}) statt in PropTypes.shape() zB PropTypes.arrayOf(PropTypes.shape({})

    Diese Änderung wurde durch die Fehlermeldung gelöscht.

    In meinem Fall bekam ich das, wenn ich die Formfunktion mit einem komplexen Objekt verwendete. Die Lösung war:

     outerObject: shape({ firstInnerObject: { a: string, b: string, }, secondInnerObject: { a: string, b: number, }, }), 

    Nach:

     outerObject: shape({ firstInnerObejct: shape({ a: string, b: string, }), secondInnerObject: shape({ a: string, b: number, }), }), 

    Sehr trivial, ich weiß, doch das könnte die Lösung für jemanden gleich unerfahren sein, wie ich bin. 😉

    Meine Version von Warning: Failed propType: checker is not a function kam aus dem Vergessen, PropTypes.shape für ein Objekt zu verwenden.

    Ändern:

     someProps: { prop: React.PropTypes.string, anotherProp: React.PropTypes.number, } 

    Zu diesem behoben das problem:

     someProps: React.PropTypes.shape({ prop: React.PropTypes.string, anotherProp: React.PropTypes.number, }) 
    Lassen Sie uns Javascript Schönheit und nützlich machen.