我在一个React项目中发现了像这样导入的pick,并决定测试它的工作方式:
import { pick } from 'lodash/fp';
let obj = { 'a': 1, 'b': '2', 'c': 3 };
let result = pick(obj, ['a', 'c']);
console.log(result); // => {}然后使用require对其进行测试,得到预期的输出。
const _ = require('lodash')
let object = { 'a': 1, 'b': '2', 'c': 3 };
let result = _.pick(object, ['a', 'c']);
console.log(result); // => { 'a': 1, 'c': 3 },为什么在这两种情况下,它的工作方式都不一样呢?
发布于 2018-01-05 12:27:55
这和进口无关。在您的第一个示例中,您使用的是lodash/fp,而不是寄宿。在你的第二个例子中,你使用的是沃达什。
如果你想从房客那里得到pick:
import { pick } from 'lodash';证明:如果在这两种情况下都使用旧风格的require,我们仍然会得到不同的结果:
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}发布于 2018-01-05 12:21:24
我认为你进口的方式是错误的。像这样进口
import pick from 'lodash/pick';https://stackoverflow.com/questions/48113495
复制相似问题