Не работает импорт компонента дизайна Ant

Я в шоке из-за этой проблемы, с которой я столкнулся прямо сейчас. Вся моя логика буквально остановилась. Что-то начало не работать, я ничего не менял. Я имею в виду, что он у меня даже на производстве, идентичный код, но локально он начал не работать, из ничего. Даже когда я возвращаюсь к предыдущим коммитам, я уверен на 100%, что это работает, но это не работает.

Метеор, Реагировать, Муравейник. Пожалуйста помоги!

Ошибка: ReferenceError: Layout is not defined

Код:

import React from 'react';
import Blaze from 'meteor/gadicc:blaze-react-component';
import { Link } from 'react-router-dom';
import { Layout, Menu } from 'antd';
const { Header, Content, Footer } = Layout;

class LayoutContainer extends React.Component {
  render() {

    const { match, children } = this.props;
    const pathname = match.location.pathname;

    return (
      <Layout className="layout">
        <Header style={{backgroundColor: '#fff'}}>
          <Menu
            selectedKeys={[pathname]}
            mode="horizontal"
            style={{ lineHeight: '64px', float: 'right' }}
          >
            <Menu.Item key={'/'}>
              <Link to="/">Home</Link>
            </Menu.Item>
            <Menu.Item key={'/create-a-gathering'}>
              <Link to="/create-a-gathering">Create</Link>
            </Menu.Item>
          </Menu>
          <div className="logo" />
          <Blaze template="loginButtons" />
        </Header>
        <Content style={{ marginTop: 20 }}>
          {children}
        </Content>
        <Footer style={{ textAlign: 'center' }}>

        </Footer>
      </Layout>
    )
  }
}

export default LayoutContainer;

person Emo    schedule 23.01.2018    source источник
comment
Иногда вижу похожие / невозможные ошибки и перестраиваю. Удалите папку узловых модулей. Перезагрузите сервер и т. Д.   -  person Mark Swardstrom    schedule 24.01.2018


Ответы (3)


здесь сообщается о проблеме с antd. Ссылка на ошибку: макет не определен

простой способ решить эту проблему - импортировать такой макет

 import Layout from 'antd/lib/layout'

или вы также можете разобраться, обновив версию antd до "^ 3.2.2" или выше

person Afaq Ahmed Khan    schedule 27.03.2019

Я должен был ответить на этот вопрос давным-давно, но вот оно:

Как отметил Афак Ахмед Хан (и это тоже):

import { Layout, Menu } from 'antd/lib';

это ответ.

Я предполагаю, что babel в двух пакетах конфликтуют друг с другом, и поэтому псевдоним '/lib' to root '/' не работает.

person Emo    schedule 15.04.2019

Это можно решить, удалив папку node-modules, а затем перестроив весь проект.

person xSkrappy    schedule 24.01.2018
comment
Я тоже пробовал. Я попытался полностью вытащить из удаленного репо и построить в другом каталоге. Все еще не сработало. - person Emo; 24.01.2018