Загрузочный файл Material Design (MDBReact) не работает

введите описание изображения здесь

Получение следующей ошибки при использовании компонентов mdbreact,

← → 1 из 2 ошибок на странице Ошибка: недопустимый вызов ловушки. Хуки могут быть вызваны только внутри тела функционального компонента. Это могло произойти по одной из следующих причин:

  1. У вас могут быть несовпадающие версии React и средства визуализации (например, React DOM)
  2. Возможно, вы нарушаете правила крючков
  3. У вас может быть несколько копий React в одном приложении. См. Советы по отладке и устранению этой проблемы.
 "dependencies": {
    "@testing-library/jest-dom": "^5.11.6",
    "@testing-library/react": "^11.1.2",
    "@testing-library/user-event": "^12.2.2",
    "mdbreact": "^4.27.0",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "react-scripts": "4.0.0",
    "web-vitals": "^0.2.4"
  },

Я добавил следующие index.js

   import '@fortawesome/fontawesome-free/css/all.min.css'; 
    import 'bootstrap-css-only/css/bootstrap.min.css';
    import 'mdbreact/dist/css/mdb.css';

App.js

import logo from './logo.svg';
import './App.css';
import CardExample from './ReviewCard'
function App() {
  return (
    <div className="App">
      <CardExample />
    </div>
  );
}

export default App;

ReviewCard.js

import React from 'react';
import { MDBBtn, MDBCard, MDBCardBody, MDBCardImage, MDBCardTitle, MDBCardText, MDBCol } from 'mdbreact';

const CardExample = () => {
  return (
    <MDBCol>
      <MDBCard style={{ width: "22rem" }}>
        <MDBCardImage className="img-fluid" src="https://mdbootstrap.com/img/Photos/Others/images/43.jpg" waves />
        <MDBCardBody>
          <MDBCardTitle>Card title</MDBCardTitle>
          <MDBCardText>
            Some quick example text to build on the card title and make
            up the bulk of the card&apos;s content.
          </MDBCardText>
          <MDBBtn href="#">MDBBtn</MDBBtn>
        </MDBCardBody>
      </MDBCard>
    </MDBCol>
  )
}

export default CardExample;

person Ankita Jaiswal    schedule 17.11.2020    source источник
comment
добавить код ошибки   -  person krimo    schedule 17.11.2020
comment
@krimo mdbootstrap.com/docs/react/components/cards использовала простую карту . Раньше я тоже пользовался MDBreact. Раньше это работало.   -  person Ankita Jaiswal    schedule 17.11.2020
comment
попробуйте проверить, чтобы импортировать хуки в ваш компонент   -  person krimo    schedule 17.11.2020
comment
Можете ли вы добавить свой полный файл, откуда возникла эта ошибка?   -  person Shubham Verma    schedule 17.11.2020
comment
@ShubhamVerma, пожалуйста, найдите комментарий в ответе ниже   -  person Ankita Jaiswal    schedule 17.11.2020
comment
@AnkitaJaiswal какой код для ReviewCard?   -  person Shubham Verma    schedule 17.11.2020
comment
@ShubhamVerma, обновите страницу, я добавил весь необходимый код   -  person Ankita Jaiswal    schedule 17.11.2020


Ответы (3)


Похоже, они не были перенесены на последнюю react ^17. Попробуйте уменьшить версию реакции до 16.*. Это работает как шарм.

Вот package.json, которые я использовал:

"dependencies": {
    "mdbreact": "4.27.0",
    "react": "16.14.0",
    "react-dom": "17.0.0",
    "react-scripts": "3.4.3"
  },

Вот демонстрация, которую вы можете проверить

person Shubham Verma    schedule 17.11.2020
comment
да ... проблема только в версии. - person Ankita Jaiswal; 18.11.2020
comment
зависимости: {@ testing-library / jest-dom: ^ 5.11.6, @ testing-library / react: ^ 11.1.2, @ testing-library / user-event: ^ 12.2.2, mdbreact: 4.27.0, реагировать : ^ 16.14.0, react-dom: ^ 16.14.0, react-scripts: 3.4.3, web-vitals: ^ 0.2.4}, это сработало для меня. - person Ankita Jaiswal; 18.11.2020

Не думаю из-за MDBReact. Возможно, вы можете переместить хуки в основную функцию по умолчанию.

Кроме того, если вы поделитесь своим кодом, мы сможем вам помочь.

person Sule Savas    schedule 17.11.2020
comment
импортировать логотип из './logo.svg'; import './App.css'; импортировать CardExample из функции './ReviewCard' App () {return (‹div className = App› ‹CardExample /› ‹/div›); } экспортировать приложение по умолчанию; - person Ankita Jaiswal; 17.11.2020
comment
CardExample - это первый пример кода в ссылке, опубликованной в mdbootstrap.com/docs/react/components/ карты - person Ankita Jaiswal; 17.11.2020

Вам необходимо установить последний пакет mdb npm с помощью команды npm i mdb-response-ui-kit. Он будет работать с React 17. Вам не нужно понижать версию вашей реакции.

добавьте строку ниже в index.js import 'mdb-react-ui-kit / dist / css / mdb.min.css'

добавьте строку ниже в index.html для fontawesome

person James    schedule 21.07.2021