Javascript 反应酶类型错误:无法读取未定义的属性“propTypes”
以下是我的React组件:Javascript 反应酶类型错误:无法读取未定义的属性“propTypes”,javascript,node.js,reactjs,mocha.js,enzyme,Javascript,Node.js,Reactjs,Mocha.js,Enzyme,以下是我的React组件: import React from 'react' var PageLeftLower = React.createClass({ render:function(){ return(<a href="#">Quote Requests</a>); } }); module.exports = PageLeftLower; 所以,非常简单的反应组分。 我刚刚开始使用酶和摩卡进行测试,并编写了以下代码 import expe
import React from 'react'
var PageLeftLower = React.createClass({
render:function(){
return(<a href="#">Quote Requests</a>);
}
});
module.exports = PageLeftLower;
所以,非常简单的反应组分。
我刚刚开始使用酶和摩卡进行测试,并编写了以下代码
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:类型不应为null、未定义、布尔或数字。它应该是DOM元素的字符串,或者是复合组件的ReactClass
以及以下错误:
TypeError:无法读取未定义的属性“propTypes”
非常感谢您的帮助。问题在于:
import {PageLeftLower} from './PageLeftLower';
因为您直接导出组件时使用的是:
module.exports = PageLeftLower;
它没有像这样包装在对象中:
module.exports = {PageLeftLower: PageLeftLower};
因此,您的组件可以通过以下方式访问:
import PageLeftLower from './PageLeftLower'; // not {PageLeftLower}
问题在于:
import {PageLeftLower} from './PageLeftLower';
因为您直接导出组件时使用的是:
module.exports = PageLeftLower;
它没有像这样包装在对象中:
module.exports = {PageLeftLower: PageLeftLower};
因此,您的组件可以通过以下方式访问:
import PageLeftLower from './PageLeftLower'; // not {PageLeftLower}
完美的男人,我昨天就知道了,但是谢谢你的回答:完美的男人,我昨天就知道了,但是谢谢你的回答: