React-router <Link>не работает правильно с response 16.8 - PullRequest
0 голосов
/ 24 марта 2019

Возникли проблемы с реакцией-маршрутизатором 5.0.0 и реакцией 16,8

. С NavLink приложение работает как ожидается , но с Ссылка iполучил ошибку как

Недопустимый тип элемента: ожидал строку (для встроенных компонентов) или класс / функцию (для составных компонентов), но получил: undefined.Вероятно, вы забыли экспортировать компонент из файла, в котором он определен, или вы перепутали импорт по умолчанию и имена.

сообщение об ошибке

import React, { Component } from 'react';

import { Link } from 'react-router-dom';

import { Content } from '../../components/content/Content';

export class Home extends Component {
  render() {
    return (
      <Content>
        <Link to="/">Home Page</Link>
      </Content>
    );
  }
}

[Решено] Я не перезагружаю приложение при преобразовании функционального компонента в класс.Первый не имеет history реквизит, предоставленный Router

Ответы [ 2 ]

1 голос
/ 24 марта 2019

Из сообщения об ошибке:

возможно, вы смешали импорт по умолчанию и имена

Вы должны смешивать оператор импорта. Чтобы решить проблему, следуйте приведенному ниже соглашению:

import Content from '...';
// for a default export

Вместо именованного экспорта:

import { Content } from '...'
// for a named export

См. Эти ссылки для понимания именованного экспорта и экспорта по умолчанию: импорт и экспорт

0 голосов
/ 24 марта 2019

Неверное заявление на импорт.

https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/docs/api/Link.md

import { Link } from 'react-router-dom'

<Link to="/about">About</Link>
...