Не удается преобразовать объект в ошибку примитивного значения в реагирующем приложении? - PullRequest
32 голосов
/ 12 апреля 2020

Я занимаюсь разработкой простого загрузочного приложения реагирующей пружины, но из-за проблемы с GitHub я воссоздаю начальные файлы приложения с помощью IntelliJ и устанавливаю модули узлов с помощью пакета предыдущего приложения. json Данные о зависимостях файла.

Если я использую сворачивающуюся панель навигации (панель гамбургеров -> отзывчивые панели навигации, которые сворачиваются в мобильном представлении) и нажимаю кнопку гамбургера, чтобы увидеть навигационные ссылки, это дает мне следующую ошибку. Но все это было хорошо в предыдущем приложении.

TypeError: Cannot convert object to primitive value
HTMLDivElement.<anonymous>
C:/Users/Hasindu/Documents/AF/Application Frameworks/online-fashion-store-master/src/main/js/src/collapse.js:346
  343 |   ...typeof config === 'object' && config ? config : {}
  344 | }
  345 | 
> 346 | if (!data && _config.toggle && /show|hide/.test(config)) {
      | ^  347 |   _config.toggle = false
  348 | }
  349 | 
View compiled
Function.each
C:/Users/Hasindu/Documents/AF/Application Frameworks/online-fashion-store-master/src/main/webapp/front-end/node_modules/jquery/dist/jquery.js:381
  378 | if ( isArrayLike( obj ) ) {
  379 |     length = obj.length;
  380 |     for ( ; i < length; i++ ) {
> 381 |         if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
      | ^  382 |            break;
  383 |         }
  384 |     }
View compiled
jQuery.fn.init.each
C:/Users/Hasindu/Documents/AF/Application Frameworks/online-fashion-store-master/src/main/webapp/front-end/node_modules/jquery/dist/jquery.js:203
  200 | 
  201 | // Execute a callback for every element in the matched set.
  202 | each: function( callback ) {
> 203 |     return jQuery.each( this, callback );
      | ^  204 | },
  205 | 
  206 | map: function( callback ) {
View compiled
jQuery.fn.init._jQueryInterface [as collapse]
C:/Users/Hasindu/Documents/AF/Application Frameworks/online-fashion-store-master/src/main/js/src/collapse.js:337
  334 | }
  335 | 
  336 | static _jQueryInterface(config) {
> 337 |   return this.each(function () {
      | ^  338 |     const $this   = $(this)
  339 |     let data      = $this.data(DATA_KEY)
  340 |     const _config = {
View compiled
HTMLDivElement.<anonymous>
C:/Users/Hasindu/Documents/AF/Application Frameworks/online-fashion-store-master/src/main/js/src/collapse.js:385
  382 |     const $target = $(this)
  383 |     const data    = $target.data(DATA_KEY)
  384 |     const config  = data ? 'toggle' : $trigger.data()
> 385 |     Collapse._jQueryInterface.call($target, config)
  386 |   })
  387 | })
  388 | 
View compiled
Function.each
C:/Users/Hasindu/Documents/AF/Application Frameworks/online-fashion-store-master/src/main/webapp/front-end/node_modules/jquery/dist/jquery.js:381
  378 | if ( isArrayLike( obj ) ) {
  379 |     length = obj.length;
  380 |     for ( ; i < length; i++ ) {
> 381 |         if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
      | ^  382 |            break;
  383 |         }
  384 |     }
View compiled
jQuery.fn.init.each
C:/Users/Hasindu/Documents/AF/Application Frameworks/online-fashion-store-master/src/main/webapp/front-end/node_modules/jquery/dist/jquery.js:203
  200 | 
  201 | // Execute a callback for every element in the matched set.
  202 | each: function( callback ) {
> 203 |     return jQuery.each( this, callback );
      | ^  204 | },
  205 | 
  206 | map: function( callback ) {
View compiled
HTMLButtonElement.<anonymous>
C:/Users/Hasindu/Documents/AF/Application Frameworks/online-fashion-store-master/src/main/js/src/collapse.js:381
  378 | const selector = Util.getSelectorFromElement(this)
  379 | const selectors = [].slice.call(document.querySelectorAll(selector))
  380 | 
> 381 | $(selectors).each(function () {
      | ^  382 |   const $target = $(this)
  383 |   const data    = $target.data(DATA_KEY)
  384 |   const config  = data ? 'toggle' : $trigger.data()
View compiled
HTMLDocument.dispatch
C:/Users/Hasindu/Documents/AF/Application Frameworks/online-fashion-store-master/src/main/webapp/front-end/node_modules/jquery/dist/jquery.js:5428
  5425 | event.handleObj = handleObj;
  5426 | event.data = handleObj.data;
  5427 | 
> 5428 | ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
       | ^  5429 |  handleObj.handler ).apply( matched.elem, args );
  5430 | 
  5431 | if ( ret !== undefined ) {
View compiled
HTMLDocument.elemData.handle
C:/Users/Hasindu/Documents/AF/Application Frameworks/online-fashion-store-master/src/main/webapp/front-end/node_modules/jquery/dist/jquery.js:5232
  5229 | 
  5230 |        // Discard the second event of a jQuery.event.trigger() and
  5231 |        // when an event is called after a page has unloaded
> 5232 |        return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
       | ^  5233 |          jQuery.event.dispatch.apply( elem, arguments ) : undefined;
  5234 |    };
  5235 | }
View compiled
This screen is visible only in development. It will not appear if the app crashes in production.
Open your browser’s developer console to further inspect this error.  Click the 'X' or hit ESC to dismiss this message.```

Ответы [ 9 ]

63 голосов
/ 14 апреля 2020

Сначала удалите jQuery:

npm remove jquery

, а затем переустановите его:

npm install jquery@~3.4.1
27 голосов
/ 13 апреля 2020

У меня была такая же проблема в проекте rails 6, который я разрабатывал. Я использую bootstrap 4.4.1 и у меня точно такая же проблема с моей сворачивающейся панелью навигации: панель навигации сваливается, но кнопка гамбургера, которая появляется при свертывании, не активируется.

Решение: понизить рейтинг jquery с 3.5.0 до 3.4.1. На данный момент я не изучал фактическую причину ошибки.

Чтобы добавить больше деталей, версию jquery необходимо обновить в зависимости package.json, и не забудьте запустить yarn install --check-files после того, как вы сделайте это для изменения, которое будет применено.

18 голосов
/ 13 апреля 2020

Это связано с jQuery 3.5.0. Это серьезное изменение, которое затрагивает многие плагины. Временное возвращение к предыдущей версии jQuery (like 3.4.1) устранило проблему для меня.

или

Найдите пакет Jquery в проекте node_modules, удалите его и переустановите с помощью этой команды

npm install jquery@~3.4.1

Источник: jQuery Выпуск № 4665

3 голосов
/ 23 апреля 2020

Я уже использовал jquery 3.41, но у меня возникла проблема после перемещения файлов моего проекта в другой проект, поэтому в случае использования jquery 3.41 все еще попробуйте и посмотрите, запустив команды,

1) npm удалить jquery

2) npm установить jquery@~3.4.1

Эти команды решены моя проблема.

3 голосов
/ 19 апреля 2020

Я удалил jQuery с yarn remove jquery, а затем установил yarn add jquery@3.4.1 для понижения.

Проблема заключалась в том, что 3.5.0 все еще был найден в файле yarn.lock, таким образом, ошибка все еще была происходящее.

Мне пришлось добавить в пакет. json, вне раздела "dependencies":

"resolutions": { "jquery": "3.4.1" },

Наконец ошибка исчезла.

2 голосов
/ 19 апреля 2020

Открыть package.json и заменить

"jquery": "^3.4.1",

на

"jquery": "3.4.1"

Источник

1 голос
/ 18 апреля 2020

Удалить пакет Jquery из папки node_modules.

Затем переустановите его с помощью этой команды.

npm install jquery@3.5.0
0 голосов
/ 10 мая 2020

Как и многие другие, у меня возникла такая же проблема благодаря jquery 3.5.0.

Похоже, что теперь это исправлено с 3.5.1

0 голосов
/ 09 мая 2020

Вы можете либо go вернуться jquery v3.4.1, либо недавно они выпустили v3.5.1. Эта версия работает нормально. здесь - это пакет npm.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...