私はReactを新しくしてcreate-react-app
と私のApp.js
ファイルにLodashを使用しようとしています。エラーになります。 Uncaught TypeError: _this.reduce is not a function
。私は私のindex.js
ファイルの私のApp.js
とCreate-react-appの結果でLodashを使用すると、 "Uncaught TypeError:_this.reduceは関数ではありません"
import Lodash from 'lodash';
の先頭に
import _ from 'lodash';
import shuffle from 'lodash/shuffle';
import random from 'lodash/random';
import find from 'lodash/find';
を追加しました。
var total = [0, 1, 2, 3].reduce(function(sum, value) {
return sum + value;
}, 0);
しかしlodashは、上記のエラースロー使用する線:
は、テストのために私が働くMDNから、このreduce
例使用しました。この場合、
var books = _.shuffle(this.reduce((p, c, i) => {
return p.concat(c.books);
}, [])).slice(0, 4);
をthis
ですこのような配列:
var data = [
{
name: 'Mark Twain',
imageUrl: 'images/authors/marktwain.jpg',
books: ['The Adventures of Huckleberry Finn']
}
];
なぜオブジェクトポインタ 'data'だけではなく' this'を使用していますか? – Pytth
あなたは 'const self = this;'をやってみることができますか?それから 'this.'ではなく' _.shuffle'の中で 'self'を使います。 'self.reduce'のように。 – RaghavGarg
@Pytthは 'data.selectGame =()=> {....}'の関数定義にあるためです。だから 'これは'データを参照するべきです、そうですか? – MarkyDD