Estoy desarrollando una aplicación simple de arranque react-spring, pero debido a un problema de GitHub, recreé los archivos de inicio de mi aplicación usando IntelliJ e instalé los módulos de nodo usando los datos de dependencia del archivo package.json de la aplicación anterior.
Si uso una barra de navegación colapsada (barra de hamburguesa -> barras de navegación receptivas que colapsan en la vista móvil) y hago clic en el botón de hamburguesa para ver los enlaces de navegación, me da el siguiente error. Pero todas esas cosas salieron bien en la aplicación anterior.
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.```
javascript
jquery
reactjs
bootstrap-4
Hasindu Dahanayake
fuente
fuente
Respuestas:
Primero, elimine jQuery:
y luego reinstalarlo:
fuente
npm run dev
o reiniciar y de nuevonpm run watch
.Tuve el mismo problema en un proyecto de rails 6 que estaba desarrollando. Estoy usando Bootstrap 4.4.1 y tuve exactamente el mismo problema con mi barra de navegación colapsada: la barra de navegación colapsa pero el botón de hamburguesa que aparece en el colapso no era cliqueable.
La solución: Downgrade jquery de 3.5.0 a 3.4.1. No examiné la razón real del error por ahora.
Para agregar más detalles, la versión de jquery debe actualizarse en
package.json
dependencias y no olvide ejecutaryarn install --check-files
después de hacer esto para que se aplique el cambio.fuente
Esto está relacionado con
jQuery 3.5.0.
Es un cambio importante que afecta a muchos complementos. Revertir temporalmente a una versión anterior dejQuery (like 3.4.1)
solucionó el problema para mí.o
Localice su paquete Jquery en el proyecto
node_modules
, elimínelo y vuelva a instalarlo con este comandoFuente: jQuery Issue # 4665
fuente
Eliminé jQuery con
yarn remove jquery
, y luego lo instaléyarn add [email protected]
para degradar.El problema era que 3.5.0 todavía se encontraba en el archivo yarn.lock, por lo tanto, el error seguía ocurriendo.
Tuve que agregar en package.json, fuera de la
"dependencies"
sección:Finalmente el error desapareció.
fuente
Ya usé jquery 3.41, pero tuve el problema después de mover mis archivos de proyecto a otro proyecto, por lo que en el caso de usar jquery 3.41, aún intente ver ejecutando los comandos de,
1) npm eliminar jquery
2) npm install jquery@~3.4.1
Estos comandos resolvieron mi problema.
fuente
Abrir
package.json
y reemplazarcon
Fuente
fuente
Eliminar el paquete Jquery de la
node_modules
carpeta.Luego, vuelva a instalarlo con este comando.
fuente