Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用React.memo时出现Jest快照错误_Javascript_Reactjs_Jestjs - Fatal编程技术网

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裸体,但其他使用工作(和其他内容)的组件只会看到工作的备忘录版本,因此他只想在该组件的快照中打印
。备忘录本身并没有添加显示名,这确实令人恼火