Ошибка загрузки typeerror pluck is not a function

Great JS client, and works really well.

One issue I’ve found is that when using it in the WP Editor area (as part of a JS-fuelled WordPress plugin using React), I get the following console errors:

load-scripts.php?c=0&load[]=hoverIntent,common,admin-bar,heartbeat,autosave,wp-ajax-response,jquery…:380 Uncaught TypeError: _.pluck is not a functiondetach @ load-scripts.php?c=0&load[]=hoverIntent,common,admin-bar,heartbeat,autosave,wp-ajax-response,jquery…:380render @ load-scripts.php?c=0&load[]=hoverIntent,common,admin-bar,heartbeat,autosave,wp-ajax-response,jquery…:380render @ load-scripts.php?c=0&load[]=hoverIntent,common,admin-bar,heartbeat,autosave,wp-ajax-response,jquery…:416init @ load-scripts.php?c=0&load[]=hoverIntent,common,admin-bar,heartbeat,autosave,wp-ajax-response,jquery…:417i @ jquery.js:1fireWith @ jquery.js:1ready @ jquery.js:1K @ jquery.js:1
load-scripts.php?c=0&load[]=hoverIntent,common,admin-bar,heartbeat,autosave,wp-ajax-response,jquery…:419 Uncaught TypeError: _.pluck is not a function

and

load-scripts.php?c=0&load[]=hoverIntent,common,admin-bar,heartbeat,autosave,wp-ajax-response,jquery…:663 Uncaught TypeError: Cannot read property 'hasClass' of undefined

I’ve extensively tested and turned everything else off/on, and only when I remove the node-wpapi library from my webpack file (therefore not including it in my project) do the above errors stop.

Студворк — интернет-сервис помощи студентам

Всем привет.
Столкнулся на одном сайте с невиданной ранее проблемой.
Версия ВП 5.5.3.
С включенным плагином Yoast SEO(текущая версия 15.2.1) в библиотеке медиа перестают отображаться медиа вообще, только заголовок страницы и всё. В консоли имеем ошибку
Uncaught TypeError: _.pluck is not a function
at wp.Backbone.Subviews.detach (wp-backbone.min.js?ver=5.5.3:2)
at i.render (wp-backbone.min.js?ver=5.5.3:2)
at initialize (media-grid.min.js?ver=5.5.3:2)
at i.h.View (backbone.min.js?ver=1.4.0:2)
at i.constructor (wp-backbone.min.js?ver=5.5.3:2)
at i.constructor (media-views.min.js?ver=5.5.3:2)
at i [as constructor] (backbone.min.js?ver=1.4.0:2)
at i [as constructor] (backbone.min.js?ver=1.4.0:2)
at new i (backbone.min.js?ver=1.4.0:2)
at Object.wp.media (media-models.min.js?ver=5.5.3:2)

Соответственно, с выключенным плагином проблем нет. Плагин не премиум.
Все доступные настройки перетыкал, результата никакого.
ВП переустанавливал.

Node.js — русскоговорящее сообщество

Node.js — русскоговорящее сообщество

Eugene-

Node.js — русскоговорящее сообщество

Eugene-



Eugene


function, когда я уже давно поменял вызов pluck на map(i => i[«field»])

russian

programming

node.js

12:00 01.03.2018


1

ответов

Nikolay-Chursin



Nikolay
Chursin

Что поменял, где поменял? Тут не общество телепатов.

12:01 01.03.2018

Похожие вопросы

Node.js — русскоговорящее сообщество



Nikolay
Chursin

Что поменял, где поменял? Тут не общество телепатов.

12:01 01.03.2018

Похожие вопросы

Node.js — русскоговорящее сообщество

Node.js — русскоговорящее сообщество

Dmitry-Kireev

Dmitry
Kireev

Всем доброго утра. Подскажите пожалуйста, какой сейчас в TS самый правильный и современный способ выбрать объект из массива по значению его ключа? map? reduce? просто for loop…

russian

programming

node.js

chat
16

сегодня в 07:25

Node.js — русскоговорящее сообщество

Dmitry
Kireev

Всем доброго утра. Подскажите пожалуйста, какой сейчас в TS самый правильный и современный способ выбрать объект из массива по значению его ключа? map? reduce? просто for loop…

russian

programming

node.js

chat
16

сегодня в 07:25

Node.js — русскоговорящее сообщество

Node.js — русскоговорящее сообщество

Amwey-

Amwey

Может ли молекуляр быть на тс ? Есть ли решения из коробки?

russian

programming

node.js

chat
9

сегодня в 14:25

Node.js — русскоговорящее сообщество

Amwey

Может ли молекуляр быть на тс ? Есть ли решения из коробки?

russian

programming

node.js

chat
9

сегодня в 14:25

Node.js — русскоговорящее сообщество

Node.js — русскоговорящее сообщество

Daniil-OF

Daniil
OF

Господа, подскажите
У меня мак,который в ремонте
Сейчас работаю на винде и пытаясь скопировать гит репо, VSCode жалуется, что я не могу создать папку :id
Как быть?

russian

programming

node.js

chat
9

сегодня в 15:55

Node.js — русскоговорящее сообщество

Daniil
OF

Господа, подскажите
У меня мак,который в ремонте
Сейчас работаю на винде и пытаясь скопировать гит репо, VSCode жалуется, что я не могу создать папку :id
Как быть?

russian

programming

node.js

chat
9

сегодня в 15:55

Node.js — русскоговорящее сообщество

Node.js — русскоговорящее сообщество

Website-Developer

Website
Developer

друзья помогите выбрать либу толковую, юзал pdf-creator-node , но она нищадно устарела и плюс не справляется с доками более 1000 страниц , то что нашел в нете убивают сервак н…

russian

programming

node.js

chat
8

сегодня в 08:44

Node.js — русскоговорящее сообщество

Website
Developer

друзья помогите выбрать либу толковую, юзал pdf-creator-node , но она нищадно устарела и плюс не справляется с доками более 1000 страниц , то что нашел в нете убивают сервак н…

russian

programming

node.js

chat
8

сегодня в 08:44

Node.js — русскоговорящее сообщество

Node.js — русскоговорящее сообщество

gercovv-

gercovv

screenshot

gercovv

screenshot

Подскажите с помощью чего делаются такие сетки как в тг у галереи, которые адаптируются сами в зависимости от наполнения?

russian

programming

node.js

chat
5

сегодня в 17:19

Node.js — русскоговорящее сообщество
5

сегодня в 17:19

Node.js — русскоговорящее сообщество

Node.js — русскоговорящее сообщество

A-

A

Возможно ли доучиться самостоятельно до middle и пойти на удалёнку? Сейчас являюсь junior

russian

programming

node.js

chat
4

сегодня в 03:52

Node.js — русскоговорящее сообщество

A

Возможно ли доучиться самостоятельно до middle и пойти на удалёнку? Сейчас являюсь junior

russian

programming

node.js

chat
4

сегодня в 03:52

Node.js — русскоговорящее сообщество

Node.js — русскоговорящее сообщество

Ekaterina-

Ekaterina

Подскажите, почему не работает? Хочу в зависимости от запроса, загружать картинки в нужную паку

russian

programming

node.js

chat
3

сегодня в 07:08

Node.js — русскоговорящее сообщество

Ekaterina

Подскажите, почему не работает? Хочу в зависимости от запроса, загружать картинки в нужную паку

russian

programming

node.js

chat
3

сегодня в 07:08

Node.js — русскоговорящее сообщество

Node.js — русскоговорящее сообщество

Amwey-

Amwey

Приветствую, имею файл внутри репозитория проекта, который запускается единожды из командной строки, он лежит в папке где и другие файлы проекта, которые использует фреймворк,…

russian

programming

node.js

chat
3

сегодня в 11:47

Node.js — русскоговорящее сообщество

Amwey

Приветствую, имею файл внутри репозитория проекта, который запускается единожды из командной строки, он лежит в папке где и другие файлы проекта, которые использует фреймворк,…

russian

programming

node.js

chat
3

сегодня в 11:47

Node.js — русскоговорящее сообщество

Node.js — русскоговорящее сообщество

Valhalla-Awaits

Valhalla
Awaits

Всем привет
Можете вкратце обяснить зачем nodejs приложение заворачивать в docker контейнер

Где не погляжу, то пишут что из за кроссплатформенности на разных ОС, но ведь node…

russian

programming

node.js

chat
3

сегодня в 12:05

Node.js — русскоговорящее сообщество

Valhalla
Awaits

Всем привет
Можете вкратце обяснить зачем nodejs приложение заворачивать в docker контейнер

Где не погляжу, то пишут что из за кроссплатформенности на разных ОС, но ведь node…

russian

programming

node.js

chat
3

сегодня в 12:05

Node.js — русскоговорящее сообщество

Node.js — русскоговорящее сообщество

Andy-Cox

Andy
Cox

кто как авторизацию сокетов делает? отправляете credentials обычным rest, сохраняете jwt на клиенте и открываете ws коннект и ловите токен в момент upgrade? или всё, включая а…

russian

programming

node.js

chat
2

сегодня в 11:27

Смотреть еще

  • Hi team

    For some reason, this plugin is breaking the display of posts when trying to edit a post in the block/preview editor.

    The post opens but nothing is displayed (If I use the code editor as opposed to the block editor, the text and associated HTML code displays fine.

    Opening the inspection console in chrome, I get the following error in the log.

    Uncaught TypeError: _.pluck is not a function
        at Object.setMarkers (mce-view.js?ver=5.9.1:145:16)
        at tN.<anonymous> (plugin.js?wp-mce-49110-20201110:94:33)
        at vp.c.fire (tinymce.min.js?ver=49110-20201110:2:197006)
        at tN.fire (tinymce.min.js?ver=49110-20201110:2:197532)
        at $w (tinymce.min.js?ver=49110-20201110:2:340139)
        at tN.setContent (tinymce.min.js?ver=49110-20201110:2:347647)
        at tN.<anonymous> (block-library.js?ver=fb8cfd789616fa32f70090a33b3e6be5:4914:47)
        at vp.c.fire (tinymce.min.js?ver=49110-20201110:2:197006)
        at tN.fire (tinymce.min.js?ver=49110-20201110:2:197532)
        at tN.load (tinymce.min.js?ver=49110-20201110:2:347090)

    Disabling Woocommerce Payments, causes the error to go away and the edited post to appear normally. The error appears to be linked to mce-view.js?ver=5.9.1

    Please can you investigate the issues?

    Many thanks

  • Рассматривать будем на примере данного объекта

    const data = {
        name: 'TypeError',
        message: '',
        errors: null,
        sayHi: function() {
            console.log(this.name)
        }
    }
    

    Uncaught TypeError: *** is not a function

    Данная ошибка возникает в том случае, когда у объекта мы пытаемся вызвать метод(функцию), но она таковой не является.

    data.getName(); // <- Uncaught TypeError: data.getName is not a function
    data.errors(); // <- Uncaught TypeError: data.errors is not a function
    

    В первом случае getName() нет в объекте, во втором, errors не является функцией.

    Несоответствие типов

    Возможно, мы ожидаем, что к нам придет массив и мы пытаемся выполнить:

    data.name.forEach(item => console.log(item));
    

    Получим ошибку, так как у строк нет метода forEach

    Ошибка экспорта/импорта зависимостей

    // Экспорт из файла
    const fnc = (a) => { return a*a; }
    export { func: fnc() }
    // Импорт
    import { func } from 'module';
    func(); // <- func is not a function
    

    Мы ожидали, что будет импортирована функция, однако вместо самой функции, мы импортировали результат ее выполнения. Функции должны экспортироваться без вызова ()

    Как избежать подобных ошибок?

    Проверять, что приходит в объекте и существуют ли в объекте нужные нам данные. Один из вариантов проверки, воспользоваться console.log().
    Можно начать с последнего ключа, однако лучше вывести весь пусть, чтобы понимать структуру, с которой работаем:

    console.log(data) // { name: 'TypeError', message: '', errors: null, sayHi: [Function] }
    console.log(data.errors) // null
    console.log(data.sayHi) // [Function: sayHi]
    

    Перед вызовом функции, желательно проверить ключ на тип. И если наш ключ является функцией, то вызывать.

    // data существует, есть ключ sayHi и sayHi функция
    if (data && data.sayHi && typeof data.sayHi === 'function') {
        data.sayHi();
    }
    

    При проверке в if лучше указывать полную цепочку ключей для проверки, так как, например, следующая конструкция вызовет исключение, т.к. data.values не существует:

    if (data.values.showValue && typeof data.values.showValue === 'function') {
        console.log(data.values.showValue());
    }
    

    Сократить код можно, воспользовавшись оператором необязательной цепочки вызовов ‘?.‘:

    // data существует?, есть ключ sayHi и sayHi функция
    if (data?.sayHi && typeof data.sayHi === 'function') {
        data.sayHi();
    }
    

    Оператор необязательной цепочки вызовов будет проверять значение слева. Если значение null или undefined, цепочка прерывается и возвращается значение undefined.

    Порой, такие ошибки, даже когда мы уверены в правильности данных, могут быть вызваны банальной опечаткой. Проверяйте себя и свой код!

    if (data && data.sayHi && typeof data.sayHi === 'function') {
        data.sayHI(); // sayHI нет, но есть sayHi
    }
    

    Импорт/экспорт функций

    При экспорте функций, передается только имя функции.

    // Экспорт из файла
    const fnc = (a) => { return a*a; }
    export { func: fnc } // Нет ()
    // Импорт
    import { func } from 'module';
    func(2); // <- 4
    

    Отдельное исключение есть для функций или классов, когда нам это необходимо. Допустим нам нужен глобальный счетчик.

    function counterFnc() {
      let count = 0;
      return () => {
        return ++count;
      }
    }
    
    class Counter {
      #count = 0;
      inc() {
        return ++this.#count;
      }
    }
    const incer = new Counter();
    export { 
      counter: counterFnc(),
      countCl: incer,
      increase: incer.inc
    }
    // import
    import { counter, countCl, increase } from 'module';
    counter(); // OK
    countCl.inc(); // OK
    increase(); // OK
    

    Понравилась статья? Поделить с друзьями:
  • Ошибка загрузки social club вследствие незавершенной установки пиратка
  • Ошибка загрузки social club вследствие незавершенной установки на пиратке
  • Ошибка загрузки social club вследствие незавершенной установки rdr 2
  • Ошибка загрузки social club вследствие незавершенной установки gta
  • Ошибка загрузки social club вследствие незавершенной установке