2016-08-02 164 views
1

读取属性“propTypes”以下是我的阵营组件:阵营酶类型错误:无法未定义

import React from 'react' 

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

module.exports = PageLeftLower; 

所以,很简单的作出反应的组成部分。 我刚开始使用Enzyme和Mocha进行测试,并编写了以下代码。

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); 
    }); 
}); 

这当我执行它,它输出以下警告:

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).

,并出现以下错误:

TypeError: Cannot read property 'propTypes' of undefined.

任何帮助,高度赞赏。

回答

1

的问题是在这里:

module.exports = PageLeftLower; 

它不是包裹在一个对象是这样的::

module.exports = {PageLeftLower: PageLeftLower}; 

所以

import {PageLeftLower} from './PageLeftLower'; 

,因为你是直接导出你的组件您的组件可通过以下方式访问:

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

完美的男人,我想出昨天,但谢谢回答:) –

+0

好消息哥们:) –

相关问题