reactjs - 警告:道具类型失败:提供给“NavLink”的道具“标签”无效
问题描述
我目前正在尝试将分片仪表板集成到我的反应应用程序中。一切都很好,除了搜索导航栏的缩放太大。控制台给了我以下错误:
“警告:道具类型失败:在 NavLink 中
tag
提供给NavLink
. 的道具无效(在 SidebarNavItem.js:8 处)”。
提到的文件如下所示:
import React from "react";
import PropTypes from "prop-types";
import { NavLink as RouteNavLink } from "react-router-dom";
import { NavItem, NavLink } from "shards-react";
const SidebarNavItem = ({ item }) => (
<NavItem>
<NavLink tag={RouteNavLink} to={item.to}>
{item.htmlBefore && (
<div
className="d-inline-block item-icon-wrapper"
dangerouslySetInnerHTML={{ __html: item.htmlBefore }}
/>
)}
{item.title && <span>{item.title}</span>}
{item.htmlAfter && (
<div
className="d-inline-block item-icon-wrapper"
dangerouslySetInnerHTML={{ __html: item.htmlAfter }}
/>
)}
</NavLink>
</NavItem>
);
SidebarNavItem.propTypes = {
/**
* The item object.
*/
item: PropTypes.object
};
export default SidebarNavItem;
我已经用谷歌搜索了很多,但我发现的所有相关错误都是由一些不属于我的代码的组件引起的。
解决方案
我有完全相同的问题,使用相同的框架。
问题是这一行:
import { NavLink as RouteNavLink } from "react-router-dom";
似乎这种导入语法将Component
(function) 转换为引用,这就是您Object
在登录控制台时获得 an 的原因。然后该tag
属性输入错误。
解决问题的基本解决方法:
<NavLink tag={(props) => <RouteNavLink {...props} />} to={item.to}>
推荐阅读
- java - 在firebase上注册失败java android studio
- javascript - 如何在使用 JavaScript 的 onclick 事件后隐藏按钮?
- google-cloud-firestore - ESP8266 POST method returns -5
- java - Spring JPA filter by LocalDate rather than Instant
- android - android fragment-testing dependency causes release build to fail compilation
- php - SQL window functions via PHP PDO?
- python - Why am I getting a 'undefined variable' error when I have defined the variable above
- python - Append average ping of IP addresses to csv file
- r - Iterating a dataframe with 2 variables for str_replace_all in R/tidyverse
- bash - increment two variables with different step sizes in bash