2016-08-02 17 views
1

Das Folgende ist meine Reaktion Komponente lesen:Reagieren Enzymtyp Fehler: nicht Eigenschaft ‚propTypes‘ undefinierten

import React from 'react' 

var PageLeftLower = React.createClass({ 
    render:function(){ 
    return(<a href="#">Quote Requests</a>); 
    } 
}); 

module.exports = PageLeftLower; 

So sehr einfache Komponente reagieren. Ich beginne gerade mit dem Testen mit Enzyme und Mocha und habe den folgenden Code geschrieben. Diese

import expect from 'expect'; 
import React from 'react'; 
import {shallow} from 'enzyme'; 
import {PageLeftLower} from './PageLeftLower'; 

describe('Component : WholeTab',() => { 
    it('renders without exploding',() => { 
    expect(shallow(<PageLeftLower/>).length).toEqual(1); 
    }); 
}); 

, wenn ich es ausführen, gibt er die folgende Warnung:

Component : WholeTab Warning: React.createElement: type should not be null, undefined, boolean, or number. It should be a string (for DOM elements) or a ReactClass (for composite components).

und den folgenden Fehler:

TypeError: Cannot read property 'propTypes' of undefined.

Jede Hilfe sehr geschätzt wird.

Antwort

1

Das Problem ist hier:

import {PageLeftLower} from './PageLeftLower'; 

, weil Sie direkt Ihre Komponente exportieren mit:

module.exports = PageLeftLower; 

Es ist nicht in einem Objekt wie folgt gewickelt:

module.exports = {PageLeftLower: PageLeftLower}; 

So Ihre Komponente ist zugänglich mit:

import PageLeftLower from './PageLeftLower'; // not {PageLeftLower} 
+0

perfekter mann, das habe ich gestern herausgefunden, aber danke für die antwort :) –

+0

gute nachrichten kumpel :) –