反应酶types错误:无法读取未定义的属性'propTypes'
以下是我的React组件:
import React from 'react' var PageLeftLower = React.createClass({ render:function(){ return(<a href="#">Quote Requests</a>); } }); module.exports = PageLeftLower;
所以,非常简单的React组件。 我刚开始使用Enzyme和Mocha进行testing,并编写了以下代码。
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); }); });
当我执行它时,它输出以下警告:
组件:WholeTab警告:React.createElement:types不应该为null,undefined,boolean或number。 它应该是一个string(对于DOM元素)或ReactClass(对于复合组件)。
并出现以下错误:
TypeError:无法读取未定义的属性“propTypes”。
任何帮助,高度赞赏。
问题在这里:
import {PageLeftLower} from './PageLeftLower';
因为你直接导出你的组件:
module.exports = PageLeftLower;
它不包含在像这样的对象中:
module.exports = {PageLeftLower: PageLeftLower};
所以你的组件可以用
import PageLeftLower from './PageLeftLower'; // not {PageLeftLower}