React + Typescript领域初学者的常见问题和技巧(最新)

发布时间:2023-11-16 15:00

React + Typescript领域初学者的常见问题和技巧

创建一个联合类型的常量 Key

const NAME = {
  HOGE: "hoge",
  FUGA: "fuga"
} as const;
keyof typeof NAME
// => "HOGE" | "FUGA"

创建常量值的联合类型

typeof NAME[keyof typeof NAME]
// => "hoge" | "fuga"

沮丧

const { hoge, piyo } = router.query as {
  hoge: string;
  piyo: string;
};

强制向下

有危险,但是...

const { hoge, piyo } = router.query as unknown as {
  hoge: number;
  piyo: number;
};

Material-Extend UI 类型

基本上它是由命名约定“组件名+Props”提供的,所以使用它。

type ExtendsProps = TextFieldProps & {
  hoge: number;
};

使用 Material-UI 属性类型

TextField 的类型TextFieldProps可以被继承,但是如果你想使用它的 name 属性

type Props = {
  name: TextFieldProps["name"];
};

常用注释前缀注解注释(FIXME、TODO等)

在 VSCode 中,可以通过设置一个插件如 todo-tree 来高亮显示并在列表中查看。

评论 意义
FIXME: 有缺陷的代码。我有强烈的意愿去解决它。
TODO: 该怎么办。比 FIXME 弱。要修复的功能。
NOTE: 在强调实现的意图以及为什么要这样写的时候写。
HACK: 我想重构。
REVIEW: 需要审查或查看。
WARNING: 当心。

什么是假的

False、undefined、null、NaN、0等,分别为真/假值,为假。

一切请参考 MDN。

// false, undefined, null, NaN, 0などのときは以下のエラーログを出力する
if (!hoge) {
  console.error("hoge がありません");
}
console.log(hoge);

突然||这是什么?

一个常见的条件分支OR
当左侧为Falsy时,使用连续计算右侧表达式的特性。
(下面的代码"HOGE"Truthy
也就是说,如果 hoge 是 Falsy,"HOGE"可以输出到屏幕上。

const HogeComponent = ({ hoge }) => {
  return 
{hoge || "HOGE"}
; };
const a1 = false || "hoge"; // f || t returns "hoge"
const a2 = "hoge" || false; // t || f returns "hoge"

什么是突然&&?

一个常见的条件分支AND
当左侧为Truthy时,使用连续计算右侧表达式的特性。
也就是说,如果 loading 是 Truthy(页面正在加载),则 Loading 组件打算将其打印到屏幕上。

const HogeComponent = ({ loading, hoge }) => {
  return (
    <>
      {loading && }
      {hoge}
    
  );
};

?和??是什么

可选链 ?.
如果引用为 null(null 或 undefined),则表达式被缩短并返回 undefined 而不是错误。

空合并运算符 ??
如果左侧为空,则返回右侧的值,否则返回左侧的值。

  • 如果用户未定义,则返回未定义
  • 当 user 中包含的属性 hoge 为 null 或 undefined 时显示“hoge”

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号