React-router <link />不能与react 16.8一起正常工作

时间:2019-03-24 16:49:27

标签: javascript reactjs react-router react-hooks

react-router 5.0.0和16.8都有问题

使用 NavLink 应用程序可以按 expected 的方式运行,但是使用 Link 时,我会收到错误消息,

  

元素类型无效:预期为字符串(对于内置组件)或类/函数(对于复合组件),但得到:未定义。您可能忘记了从定义文件中导出组件,或者可能混淆了默认导入和命名导入。

error message

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 个答案:

答案 0 :(得分:1)

从错误消息中:

  

您可能混淆了默认名称和命名导入

您应该混入import语句。请遵循以下约定来解决您的问题:

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

而不是命名导出:

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

请参阅以下参考资料以了解命名的导出和默认导出:importexport

答案 1 :(得分:-1)

错误的进口声明。

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>