es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El componente de botón de React Material UI no está funcionando.

He instalado create-react-app y material-ui/core y he procedido a hacer un simple Button.

Después de agregar el Button al archivo App y usar el comando npm start, esperaría que el botón se muestre en el navegador, en cambio obtengo un error de llamada de hook no válida.

El único problema que se me ocurre es que las dependencias pueden estar corruptas, ya que el hook es claramente válido.

Aquí está el simple Button:
App.js

import {Button} from '@material-ui/core';

export default function App() {
  return (
    <div classname="App">
        <button>Click Me</button>
    </div>
  );
}

Index.js

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';

ReactDOM.render(
    <app></app>,
  document.getElementById('root')
);

Index.html

<div id='root'></div>

Y aquí está el archivo package.json (aquí se muestran solo las dependencias para reducir la longitud del código):

{
  "name": "mui-play",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.15.1",
    "@testing-library/react": "^11.2.7",
    "@testing-library/user-event": "^12.8.3",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react-scripts": "4.0.3",
    "web-vitals": "^1.1.2"
  }
}
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El problema aquí no radica en que las dependencias estén corruptas, sino más bien en el uso de un gancho (hook) de React dentro del componente Button.

    Es posible que la versión de React que se esté utilizando no sea compatible con la versión del paquete material-ui/core. Los ganchos useState y useEffect, por ejemplo, se introdujeron en la versión 16.8 de React. Si la versión de React que se está utilizando es inferior a 16.8, se producirá un error de “llamada inválida al gancho” (invalid hook call).

    Se recomienda verificar la versión de React que se está utilizando y actualizarla si es necesario. Además, asegúrese de importar los ganchos necesarios desde react en el componente donde se utilizan.

    Si el problema persiste, puede ser útil examinar otros paquetes o código que se estén utilizando en el proyecto y que podrían estar causando conflictos.

Comments are closed.