首页 > 解决方案 > React-router不能正确使用 react 16.8

问题描述

react-router 5.0.0 和 react 16.8 有问题

使用NavLink应用程序按预期工作,但使用Link我得到一个错误

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

错误信息

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

标签: javascriptreactjsreact-routerreact-hooks

解决方案


从错误消息中:

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

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

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

而不是命名导出:

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

请参阅这些参考以了解命名导出和默认导出:导入导出


推荐阅读