首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用es6导入时,锁取的行为会有所不同。

使用es6导入时,锁取的行为会有所不同。
EN

Stack Overflow用户
提问于 2018-01-05 12:17:33
回答 2查看 332关注 0票数 0

我在一个React项目中发现了像这样导入的pick,并决定测试它的工作方式:

代码语言:javascript
复制
import { pick } from 'lodash/fp';

let obj = { 'a': 1, 'b': '2', 'c': 3 };

let result = pick(obj, ['a', 'c']);
console.log(result); // => {}

然后使用require对其进行测试,得到预期的输出。

代码语言:javascript
复制
const _ = require('lodash')

let object = { 'a': 1, 'b': '2', 'c': 3 };

let result = _.pick(object, ['a', 'c']);
console.log(result); // => { 'a': 1, 'c': 3 }

,为什么在这两种情况下,它的工作方式都不一样呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-05 12:27:55

这和进口无关。在您的第一个示例中,您使用的是lodash/fp,而不是寄宿。在你的第二个例子中,你使用的是沃达什。

如果你想从房客那里得到pick

代码语言:javascript
复制
import { pick } from 'lodash';

证明:如果在这两种情况下都使用旧风格的require,我们仍然会得到不同的结果:

代码语言:javascript
复制
var pick1 = require('lodash/fp').pick;
var pick2 = require('lodash').pick;

var obj = { 'a': 1, 'b': '2', 'c': 3 };

var result = pick1(obj, ['a', 'c']);
console.log(result); // => {}

result = pick2(obj, ['a', 'c']);
console.log(result); // => {a: 1, c: 3}
票数 2
EN

Stack Overflow用户

发布于 2018-01-05 12:21:24

我认为你进口的方式是错误的。像这样进口

代码语言:javascript
复制
import pick from 'lodash/pick';
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48113495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档