Next.js 中 babelification 后的对象相等问题

Object equality issue after babelification in Next.js

我有一个使用 Next.js 构建的 React 项目。我添加了 React Simple Dropdown 模块,并且只使用作者提供的基本示例。一切正常。现在我想从模块中复制 3 个下拉文件并修改它们。所以我将 src 文件复制到我的组件目录并更改了代码中的行:

import Dropdown, { DropdownTrigger, DropdownContent } from 'react-simple-dropdown'

至:

import Dropdown, { DropdownTrigger, DropdownContent } from './Dropdown/Dropdown'

这导致此 line 不再有效:if (child.type === DropdownTrigger)

检查 child.type 我发现了不同(顶部是我的代码):

我的 Next.js webpack 处理事情的方式似乎与作者用来对原始代码进行 babel 化的任何工具都不同。我能够以其他方式处理比赛,但想了解正在发生的事情。它似乎相关,所以一些默认导出,但我不清楚为什么事情不同以及 Babel 设置处理这个。

显然 class 与开发模式下的 React Hot Loader 进行比较 doesn't work。目前没有修复的已知问题。所以使用 item.type.displayNane === 'DropdownTrigger' 将是一种解决方法。