javascript - 用酶找到倒数第二个孩子
问题描述
如何查找 Enzyme 的 find() 方法返回的倒数第二个子节点?最后一个孩子可以用 .last() 找到,但在那之前的那个呢?
我知道它不会返回一个数组,但我希望做的是:
const elementsArray = wrapper.find('element');
const secondToLastElement = elementsArray.at(elementsArray.length - 1);
提前致谢。
解决方案
@EIDuderino
理想情况下,您的解决方案也应该通过从总长度中减去 2 来工作,因为“.find”返回可迭代对象。
请在下面找到更新:
const elementsArray = wrapper.find('element');
const secondToLastElement = elementsArray.at(elementsArray.length -
2);
或者,我相信我们可以使用下面的解决方案来查找计数,然后使用“.at”来查找倒数第二个元素。这不是理想的解决方案,但可以提供帮助。
let totalElements = 0;
component.find('MyInnerComponent').forEach( (node) => {
totalElements++; });
一旦我们有了总数,我们就可以使用您建议的代码。
以下是可能有助于添加答案的链接
我认为您也可以使用“.get”,如果这有助于这种情况。但是,我相信您已经阅读过酶文档,但将链接分别放在“.get”和“.at”上以供参考。
- https://enzymejs.github.io/enzyme/docs/api/ShallowWrapper/get.html
- https://enzymejs.github.io/enzyme/docs/api/ShallowWrapper/at.html
我希望这有帮助。
推荐阅读
- git - 无法在 Visual Studio 中进行合并
- c - 如何将输出中显示的内容写入文件?
- php - 未找到 DomPDF 图像或类型未知
- html - 如何有效地为 HTML 或 CSS 中的按钮添加声音?
- xcode - 在 SwiftUI 中刷新 RandomElement()
- php - 为什么 PHP $_SESSION 变量在 header() 方法中使用时不起作用?
- c# - ItemTemplateSelector 和 ListView.ItemTemplate 的区别
- python - 是否可以在 VPS 上将 SQLite 用于 Discord 机器人?
- r - 计算每个唯一元素在列表中出现的次数
- javascript - graphQL 订阅返回 null