Tengo problemas de javascript relacionados con reaccionar. Este es el error detectado por Chrome cuando la página se está procesando:
Uncaught TypeError: Super expression must either be null or a function, not undefined at _inherits (application.js:16301) at application.js:16310 at Object.232.prop-types (application.js:16549) at s (application.js:1) at application.js:1 at Object.233../Collapse (application.js:16574) at s (application.js:1) at application.js:1 at Object.1.react (application.js:78) at s (application.js:1)Cuando instalé mi reacción usando npm, se queja de las dependencias entre pares de reaccionar y reaccionar-altura:
├─┬ UNMET PEER DEPENDENCY react@0.14.9 │ ├─┬ envify@3.4.1 │ │ └─┬ jstransform@11.0.3 │ │ ├── base62@1.1.2 │ │ ├─┬ commoner@0.10.8 │ │ │ ├─┬ commander@2.9.0 ...Y:
├─┬ UNMET PEER DEPENDENCY react-height@2.2.1 │ └─┬ create-react-class@15.5.2 │ └─┬ fbjs@0.8.12 │ └── core-js@1.2.7Después de eso, cambié mi archivo package.json a:
"react": "0.14.9", "react-bootstrap": "^0.28.1", "react-collapse": "^2.2.1", "react-dom": "^0.14.3", "react-height": "2.2.1", ... Después de estos cambios, eliminé completamente la carpeta node_modules con rm -rf , limpié la memoria caché de npm y la reinstalé nuevamente.
El MUY MISMO problema sigue ocurriendo. Veo 2 advertencias:
npm WARN react-collapse@2.4.0 requires a peer of react@>=15.3 but none was installed. npm WARN react-collapse@2.4.0 requires a peer of react-height@^3 but none was installed.¿Hay algún problema para actualizar los paquetes o algún problema relacionado con la propia reacción?
Su versión de react no cumple con los requisitos react-collapse . Realmente no significa que ambos paquetes no puedan funcionar juntos, solo pruébelo y si todo funciona según lo previsto.
Pero si necesita arreglar eso, tiene dos formas de hacerlo:
primera forma
Elimine "react": "0.14.9", línea y ejecute npm i --save react . NPM instalará el último paquete de reacción. El error debe ser reparado.
segunda forma
Si realmente necesita usar la versión 0.14.9 , debe encontrar la versión react-collapse que sea compatible con su versión de reactjs.
Para hacerlo, escriba en su consola npm show react-collapse versions : aparecerá una array de registros.
Ahora tenemos que elegir una versión anterior y verificar las peerDependencies de pares de nuestro paquete seleccionado.
Usamos el comando npm view react-collapse@3.0.0 , el resultado será
Debido a que seleccionamos la versión @3.0.0 que está bien en nuestro caso, necesitamos instalarla. El siguiente comando hará el trabajo npm install --save react-collapse@3.0.0 .
ACTUALIZAR
Si la solución anterior no funciona. Instale manualmente las peerDependencies faltantes a través npm i --save <package-name> .
Explicación:
Verifique su versión de npm haciendo npm -v . Si su versión es > 3, significa que las dependencias de pares deben instalarse manualmente. Supongo que ese es el caso, la versión 3.0.0 se lanzó a mediados de 2015.
La instalación automática de dependencias de pares se eliminó explícitamente con npm 3, ya que causaba más problemas de los que intentaba resolver.
Lea el registro de cambios oficial de npm , está buscando la sección "cambios importantes".
Hay una herramienta CLI que instala un paquete NPM y sus dependencias de pares automáticamente. Te podría interesar.