- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有关enzyme
测试库中adapter
用途的任何文档。
import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
configure({ adapter: new Adapter() });
最佳答案
Any documentation on what's the purpose of
adapter
inenzyme
testing library.
文档主要只是解释如何配置适配器
,并没有真正讨论其用途。
<小时/>what is adapter in enzyme
简短版本
无论您使用的 React
版本如何,enzyme
API 都是相同的,但 React
如何呈现以及与呈现的内容交互根据 React
版本而变化。
适配器
抽象出基于React
版本的任何更改,因此核心enzyme
代码可以保持不变。
详细版本
mount
和 shallow
均为 exported from enzyme
。让我们重点关注安装
。
mount
是一个函数 just returns a new ReactWrapper
.
ReactWrapper
提供熟悉的包装器对象 instance
, setState
, find
等
无论您使用哪个版本的 React
,所有这些函数的实现都是相同的...
...但是由于 React
本身多年来已经发生了变化,任何基于 React
版本更改的实现细节都被抽象化了一个适配器。
通过调用 getAdapter
检索适配器第一次使用是validate the nodes passed to mount
,然后到create the renderer
to actually render the nodes .
对于调用createRenderer
的enzyme-adapter-react-16.3
获取routed to this.createMountRenderer
在 createMountRenderer
中您可以看到 the familiar ReactDOM.render
call where what you passed is actually rendered using React
v16 syntax .
在ReactWrapper.js内搜索getAdapter
随处可见,适配器
用于抽象出在使用mount
时根据React
版本更改的功能...
...并在 ShallowWrapper.js 内搜索 getAdapter
到处都显示 adapter
用于抽象出在使用 shallow
时根据 React
版本更改的功能。
关于reactjs - enzyme 中的接头是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55344422/
我正在尝试制作一个动画角色,可以在不移动他的躯干的情况下伸手去拿屏幕上的东西。 如果他够不到,他的手应该朝这个方向移动最大量,然后被他的静态躯干的物理限制所抵消。 所以在我的代码中,绿色矩形( han
似乎有很多关于 Vulkan 新图形 API 的讨论 - https://www.khronos.org/vulkan 我的问题与 - 现有的 EGL 接口(interface)将如何适应 Vulka
首先,感谢@Smick 提供此处发布的初始车辆代码: Sprite Kit pin joints appear to have an incorrect anchor 我正在尝试在车轮(左轮)和底盘之
我是一名优秀的程序员,十分优秀!