Код Material Ui отлично работает в codepen, но не в VSCODE?

Я использую Material-UI для создания «Материальных вкладок» в моем проекте ReactJS, этот код работает правильно в SANDBOX, но не в моем VS CODE. Что я должен делать?

Я проверил установку Node, проверил и установил все версии зависимостей из NPM. Я также проверил это. Проверь это, но я не мог этого понять.

import React from "react";
import PropTypes from "prop-types";
import SwipeableViews from "react-swipeable-views";
import { makeStyles } from "@material-ui/core/styles";
import { withStyles } from "@material-ui/styles";
import Tabs from "@material-ui/core/Tabs";
import Tab from "@material-ui/core/Tab";
import Typography from "@material-ui/core/Typography";
function TabContainer({ children, dir }) {
  return (
    <Typography component = "div" dir = {dir} style = {{ padding: 8 * 3 }}>
      {children}
    </Typography>
  );
}
const useStyles = makeStyles(theme => ({
  root: {
    backgroundColor: theme.palette.background.paper,
    width: 500
  }
}));

class Feature extends React.Component {
  constructor(props) {
    super(props);
    this.state = { value: 0 };
  }
  handleChangeEvent() {
    this.state.value === 0
      ? this.setState({ value: 1 })
      : this.setState({ value: 0 });
  }
  render() {
    const classes = this.props;
    const theme = this.props;
    return (
      <div className = {classes.root}>
        <Tabs
          value = {this.state.value}
          onChange = {this.handleChangeEvent.bind(this)}
          indicatorColor = "primary"
          textColor = "primary"
        >
          <Tab label = "A" />
          <Tab label = "B" />
        </Tabs>
        <SwipeableViews
          axis = {theme.direction === "rtl" ? "x-reverse" : "x"}
          index = {this.state.value}
        >
          <TabContainer dir = {theme.direction}>Item One</TabContainer>
          <TabContainer dir = {theme.direction}>Item Two</TabContainer>
        </SwipeableViews>
      </div>
    );
  }
}
Feature.propTypes = {
  classes: PropTypes.object.isRequired
};
export default withStyles(useStyles)(Feature);

А мой пакет.json выглядит так

  "dependencies": {
    "@material-ui/core": "^3.9.2",
    "@material-ui/docs": "^3.0.0-alpha.9",
    "@material-ui/styles": "^4.0.1",
    "prop-types": "^15.7.2",
    "react": "^16.8.5",
    "react-dom": "^16.8.5",
    "react-redux": "^6.0.1",
    "react-router-dom": "^5.0.0",
    "react-scripts": "2.1.8",
    "react-slick": "^0.23.2",
    "react-swipeable-views": "^0.13.3",
    "redux": "^4.0.1",
    "styled-components": "^4.2.0"
  }

Я ожидаю результат, указанный ПЕСОЧНИЦА, но вместо этого получил эту ошибку

TypeError: Object(...) is not a function
const useStyles = makeStyles(theme => ({
  root: {
    backgroundColor: theme.palette.background.paper,
    width: 500
  }
}));

в приведенном выше коде.

версия материала пользовательского интерфейса?

Piyush Bhati 29.05.2019 14:21

Я запускаю тот же код в VSCode на локальном компьютере и не получаю никаких ошибок, кроме dir proptypes

Amir-Mousavi 29.05.2019 14:22

@ B4BIPIN это решило проблему?

HRK44 31.05.2019 10:03

Нет, @HRK44, я обновил версию материала с "^3.9.2" до "^4.0.1". Но это не сработало.

B4BIPIN 02.06.2019 08:58
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
4
521
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В вашей песочнице вы используете версию @material-ui/core latest (которая в настоящее время 4.0.1), а в вашем пакете VS Code package.json это версия 3.9.2. Я почти уверен, что проблема в этом, попробуйте обе с одной и той же версией вместо использования latest.

См. здесь: https://codesandbox.io/embed/material-demo-1j37n

Но когда я искал на официальном сайте React, они говорят, что React Hooks (в моем коде makeStyles) используются только с функцией, а не с классами. чек об оплате

B4BIPIN 02.06.2019 09:04

Пожалуйста, проверь это. С функцией Функция и с классом Сорт.

B4BIPIN 02.06.2019 09:57

@ B4BIPIN в песочнице работает правильно с правильными версиями, и ошибка такая же, как и та, которую вы упомянули, при использовании более низкой версии. Странно, что он не работает с последней версией 4.x.

HRK44 03.06.2019 09:18

Да, Вы были правы. Эта проблема возникла из-за конфликта зависимостей. Но я понимаю это, когда создаю новый проект и сопоставляю зависимости. Благодаря @HRK44

B4BIPIN 05.06.2019 06:51

Другие вопросы по теме