reactjs - 在 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
这条线有什么问题,我能做些什么来解决它?
解决方案
问题是因为我有import { Link } from 'react-router'
而不是import { Link } from 'react-router-dom'
. 一旦我做出改变,一切都会正常工作。感谢 karaxuna 解决了这个问题。
selmansamet 也是正确的,需要反引号,但这并不是问题的真正根源。原始代码确实有反引号,但我将它们更改为单引号以查看是否可以解决问题。它没有。
推荐阅读
- regex - 如何在字符串中添加双引号?
- react-native - > 任务:react-native-reanimated:compileDebugJavaWithJavac FAILED
- r - R绘图函数中的“类型”参数
- java - 将多个 XML 标记重命名为不同的名称
- java - 使用 Regex 和 Java 提取基于百分比符号的编码字符串
- git - 如何在 docker 容器中 git commit 并执行 post-commit 钩子
- ios - 更改 App Store 连接中的空白图标
- reactjs - Reac路由器无法访问参数如何处理?
- asp.net-mvc - 无法将其重定向到 AfterLogin 页面
- oauth-2.0 - OAuth 2:状态是否应该过期?