当前位置: 首页 > 知识库问答 >
问题:

来自字典的React-NavLink href映射不起作用?

利思源
2023-03-14

我正在尝试将我的值从字典映射到NavLink字段。出于某种原因,这种精确的方法与react按钮完美配合使用,但与NavLink配合使用时却无法实现。

我的字典有键和值,它们是包含两个值的列表:Name和URL。例如

const links = {
    key1: ["key1Name", "key1URL"],
    key2: ["key2Name", "key2URL"]
}

我用这个函数映射到我的导航链接

{Object.values(links).map((key, index) => ( 
    <div className="centered">
        <NavLink className="splashButton" href={key[1]}>{key[0]}</NavLink>
    </div>
))}

虽然这适用于我的按钮映射,当我尝试使用NavLink时,我得到了这个奇怪的错误,我没有得到与按钮相同的确切代码

No overload matches this call.
  Overload 1 of 2, '(props: NavLinkProps | Readonly<NavLinkProps>): NavLink<unknown>', gave the following error.
    Type 'string | Element' is not assignable to type 'string | undefined'.
      Type 'Element' is not assignable to type 'string'.
  Overload 2 of 2, '(props: NavLinkProps, context: any): NavLink<unknown>', gave the following error.
    Type 'string | Element' is not assignable to type 'string | undefined'.ts(2769)

index.d.ts(1933, 9): The expected type comes from property 'href' which is declared here on type 'IntrinsicAttributes & IntrinsicClassAttributes<NavLink<unknown>> & Readonly<NavLinkProps> & Readonly<...>'
index.d.ts(1933, 9): The expected type comes from property 'href' which is declared here on type 'IntrinsicAttributes & IntrinsicClassAttributes<NavLink<unknown>> & Readonly<NavLinkProps> & Readonly<...>'

有人知道为什么会发生这种情况,以及我如何解决这个问题吗?

共有1个答案

吴和硕
2023-03-14

NavLink组件需要一个toprop,而不是href

js prettyprint-override"><NavLink ... to={key[1]}>...</NavLink>

参考:https://reactrouter.com/web/api/NavLink

 类似资料:
  • 问题内容: 我正在尝试为各个字段使用不同的分析器设置ElasticSearch索引。但是,我似乎找不到一种设置特定于字段的分析器的方法。这是我创建(测试)索引的方法: 如果我正确阅读了文档,则应创建类型为“ tweet”的索引“ twitter”,并且应通过雪球词根分析器分析“ message”字段的内容。为了对此进行测试,我尝试了以下查询: 如果我没记错的话,那应该会受到打击,因为战斗是战斗的源

  • 我已经定义了对象HomeContentDTO和SubscriberUpsertDTO的映射 下面是这两个对象的映射配置 HomeContentDTO中的所有映射值都没有复制到SubscriberUpsertDTO。有人知道原因吗?

  • 映射或字典类型,一种键值对的映射关系存储结构。定义方式为mapping(_KeyType => _KeyValue)。键的类型允许除映射外的所有类型,如数组,合约,枚举,结构体。值的类型无限制。 映射可以被视作为一个哈希表,其中所有可能的键已被虚拟化的创建,被映射到一个默认值(二进制表示的零)。但在映射表中,我们并不存储键的数据,仅仅存储它的keccak256哈希值,用来查找值时使用。 因此,映射

  • 在代码中使用XSLT 2.0的字符映射功能时,我遇到了以下错误。 名称空间中的元素“样式表”http://www.w3.org/1999/XSL/Transform'命名空间中的子元素'character map'无效'http://www.w3.org/1999/XSL/Transform“是的 这是我的XSLT声明 请提供有关如何在XSLT中使用字符映射的帮助。

  • map 翻译过来就是字典或者映射,可以把 map 看做是切片的升级版 切片是用来存储一组相同类型的数据的,map也是用来存储一组相同类型的数据的 在切片中我们可以通过索引获取对应的元素,在 map 中我们可以通过key获取对应的元素 切片的索引是系统自动生成的,从0开始递增,map 中的 key 需要我们自己指定 只要是可以做 ==、!= 判断的数据类型都可以作为 key(数值类型、字符串、数组、

  • 当我访问localhost:8080/home-我得到: 当我访问localhost:8080/或localhost:8080/index时,看起来一切正常。 为什么一条路行得通,而另一条行不通? 还有一件事让我困惑:localhost:8080/homepage。html-返回我的主视图。 所以我的项目在这里:https://github.com/IRus/jMusic 我的web.xml se