Javascript 使用React.memo时出现Jest快照错误
我正在使用Javascript 使用React.memo时出现Jest快照错误,javascript,reactjs,jestjs,Javascript,Reactjs,Jestjs,我正在使用React.memo(React 16.6.1)创建文件。 我将JEST23.6用于快照 //Work.js 从“React”导入React,{memo}; 常量工作=>( /*代码*/ ); 导出{以工作方式工作}; 导出默认备忘录(工作); 保存组件渲染工作的快照时,它将渲染[object object],而不是,这使得以后的维护和调试变得困难 //Container.js 从“React”导入React,{Component}; 导出类容器扩展组件{ 渲染(){ 返回( );
React.memo
(React 16.6.1)创建文件。我将JEST23.6用于快照
//Work.js
从“React”导入React,{memo};
常量工作=>(
/*代码*/
);
导出{以工作方式工作};
导出默认备忘录(工作);
保存组件渲染工作的快照时,它将渲染[object object]
,而不是
,这使得以后的维护和调试变得困难
//Container.js
从“React”导入React,{Component};
导出类容器扩展组件{
渲染(){
返回(
);
}
}
//Container-test.js
描述(“容器组件”,()=>{
常量包装器=浅();
它(“应该用合适的slug呈现内容”,()=>{
expect(wrapper.toMatchSnapshot();
});
});
因此,我们现在强制使用以下名称:
//Work.js
导出{以工作方式工作};
常量备忘录工作=备忘录(工作);
/*eslint禁用下一行不可变/无突变*/
memoWork.displayName=“备忘录(工作)”;
输出默认工作;
这将在快照中呈现
在使用React.memo导出容器时,是否有更好/更干净/更简单的名称来显示容器名称?看起来您遇到了一个错误
这增加了对memo的支持,它应该在快照内部正确呈现。我认为您可能需要深入到
浅层说唱程序中,并匹配组件本身的快照。不,unittest应该只测试一个组件。工作测试将使用Work裸体,但其他使用工作(和其他内容)的组件只会看到工作的备忘录版本,因此他只想在该组件的快照中打印
。备忘录本身并没有添加显示名,这确实令人恼火