[react]不能将类型“string | undefined”分配给类型“To”。 不能将类型“undefined”分配给类型“To”

news/2024/12/23 10:58:17 标签: react.js, 前端, javascript

场景, 封装组件的时候, 想通过外部传进去一个路由地址, 再用<Link to={}>跳转, 显示这个,

有四种方法解决

第一种 合并运算符 ??

??空值合并运算符(Nullish Coalescing Operator),它是 JavaScript 和 TypeScript 中的一种逻辑运算符,通常用于处理 nullundefined 的情况。

javascript">a ?? b

解释:

  • 如果 a 不是 null 或 undefined,那么 a ?? b 会返回 a 的值。
  • 如果 a 是 null 或 undefined,那么 a ?? b 会返回 b 的值。
javascript">             <div className="right">
                {/* 第一种 */}
                <Link to={props.moreTextHref ?? ''}>{props.moreText}</Link>           
            </div>

第二种

使用条件渲染

javascript">  {
        props.moreTextHref && (
              <Link to={props.moreTextHref}>{props.moreText}</Link>
       )}

第三种

类型断言来明确告诉 TypeScript props.moreTextHref 不会是 undefined

javascript">  <Link to={props.moreTextHref as string}>{props.moreText}</Link>

第四种

强制传递的就是字符串

javascript">interface IProps {
    children?: ReactNode;
    title?: string;
    keywords?: string[];
    moreText?: string;
    // 把问号去掉
    moreTextHref: string;
}


http://www.niftyadmin.cn/n/5796556.html

相关文章

Pytorch | 利用VMI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击

Pytorch | 利用VMI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击 CIFAR数据集VMI-FGSM介绍核心思想梯度方差定义算法流程 VMI-FGSM代码实现VMI-FGSM算法实现攻击效果 代码汇总vmifgsm.pytrain.pyadvtest.py 之前已经针对CIFAR10训练了多种分类器&#xff1a; Pytorch | 从零构…

C#都可以找哪些工作?

在国内学习C#&#xff0c;可以找的工作主要是以下4个&#xff1a; 1、游戏开发 需要学习C#编程、Unity引擎操作、游戏设计和3D图形处理等。 2、PC桌面应用开发 需要学习C#编程、WinForm框架/WPF框架、MVVM设计模式和UI/UX设计等。 3、Web开发 需要学习C#编程、ASP.NET框架…

使用Java构建高性能微服务架构

微服务架构&#xff08;Microservices Architecture&#xff09;是一种广泛采用的软件设计模式&#xff0c;用于构建模块化、高可扩展性的系统。Java&#xff0c;作为企业开发的主力语言&#xff0c;拥有丰富的生态系统和框架支持&#xff0c;是构建微服务的理想选择。本文将探…

计算机组成原理的学习笔记(5)--数据的表示与运算·其四 浮点数的储存和加减/内存对齐/大端小端

学习笔记 前言 本文主要是对于b站尚硅谷的计算机组成原理的学习笔记&#xff0c;仅用于学习交流。 1. 浮点数的表示与运算 规格化数&#xff1a; 浮点数的存储格式为 &#xff0c;其中&#xff1a; 为符号位。 为尾数&#xff0c;通常在0和1之间&#xff08;规格化形式为1.xx…

探索 ElasticSearch:性能优化之道

在当今大数据时代&#xff0c;ElasticSearch 作为一款强大的分布式搜索和分析引擎&#xff0c;广泛应用于各类场景&#xff0c;为海量数据的快速检索与洞察提供了有力支持。但随着数据量的增长与业务复杂度的提升&#xff0c;如何确保它始终高效运行&#xff0c;性能优化成为了…

关于 node-sass 库在windows下编译错误

今天在拉下来一个前端项目下载依赖时发现总是报 node-sass 这个库相关的错误&#xff0c;具体如下&#xff1a; npm ERR! code 1 npm ERR! path D:\Java\xingqiu_pull\shortlink\console-vue\node_modules\node-sass npm ERR! command failed npm ERR! command C:\WINDOWS\sys…

PostgreSQL标识符长度限制不能超过63字节

文章目录 问题&#xff1a;标识符太长会被截断分析相关源码可以尝试以下案例 问题&#xff1a;标识符太长会被截断 在创建表时&#xff0c;发现表名太长会自动被截断&#xff0c;导致查询表时报错了。 分析 参考&#xff1a;https://www.postgresql.org/docs/current/limits…

【PythonGui实战】自动摇号小程序

&#x1f349;CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研二&#xff5c;统计学&#xff5c;干货分享          擅长Python、Matlab、R等主流编程软件          累计十余项国家级比赛奖项&#xff0c;参与研究经费10w、50w级横向 文…