我在Jest测试中嘲笑React组件,并且流程正在抱怨:
[flow] string (This type is incompatible with the expected return type of React$Element)
我如何允许这个?这是我的代码:
jest.mock('../../../../ui-components/lib/Forms/TextField', () => {
const React = require('react');
const TextField = class extends React.Component {
render() {
return 'TextField'; // Flow complains here
}
};
return TextField;
});
编辑:
对于那些谷歌搜索,这就是我做的:
jest.mock('../../../../ui-components/lib/Forms/TextField', () => {
const React = require('react');
const TextField = class extends React.Component {
render() {
return <div />;
}
};
return TextField;
});
我是在一个错误的假设下操作的,即酶的浅包装物不会定位组件,除非我在这里返回一个字符串。我说实话,我不记得我为什么这么想,因为现在看来很荒谬。
我在下面标记了我原来问题的答案,因为如果我没有采取这种更好的方法,这是正确的。使用// $ FlowFixMe
答案 0 :(得分:2)
我不确定您为什么这样做,但如果您确定,可以在错误的行上方添加//$FlowFixMe
条评论。
//$FlowFixMe
Defines a magical comment that suppresses any Flow errors on the following line
希望这有帮助。