首页 > 解决方案 > 在 React Router 4 中使用链接

问题描述

我正在关注使用旧版本 React Router 的教程。除了以下代码之外,我已将其全部更新并正常工作:

{this.props.books.map((b, i) => <tr key={i}>
    <td>{b.title}</td>
    <td><Link to={`/books/${b.id}`}>View</Link></td>
</tr>)}

我在<Link to={`/books/${b.id}`}>View</Link>.

有一些与这一行相关的不同错误。第一个错误是:

警告:React.createElement:类型无效——需要一个字符串(对于内置组件)或一个类/函数(对于复合组件),但得到:未定义。您可能忘记从定义组件的文件中导出组件,或者您可能混淆了默认导入和命名导入。

检查Book. in Book(由 Connect(Book) 创建) in Connect(Book)(由 Route 创建) in Route in div in Router(由 BrowserRouter 创建) in BrowserRouter in Provider

这条线有什么问题,我能做些什么来解决它?

标签: reactjsreact-routerreact-redux

解决方案


问题是因为我有import { Link } from 'react-router'而不是import { Link } from 'react-router-dom'. 一旦我做出改变,一切都会正常工作。感谢 karaxuna 解决了这个问题。

selmansamet 也是正确的,需要反引号,但这并不是问题的真正根源。原始代码确实有反引号,但我将它们更改为单引号以查看是否可以解决问题。它没有。


推荐阅读