在Next.js中的babelification之后的对象平等问题

时间:2017-07-15 21:40:45

标签: javascript reactjs webpack babeljs 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我发现差异(顶部是我的代码):

my code

original code

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

1 个答案:

答案 0 :(得分:1)

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