logo

TypeScript 使用

Published on

TypeScript 使用

gpt检索:https://chat.openai.com/c/be931627-73e1-4d35-ad3a-11c7c119ea90

  1. 交叉类型来组装

    // 没看清结构最开始以为要将tag属性加在Post内
    type Post = {
      title: string;
      content: string;
      // 已经存在的属性
      // ...
    };
    type PostWithTag = Post & {
      tag: string;
    };
    const PostCard = ({ post }: { post: CoreContent<Post>}) => {
      // 这样post中就可以传Post交叉{tag}了。
    })
    
  2. 对象类型中添加属性

    // blog-page.tsx
    <PostCard post={post} tag="plog" />
      
    // PostCard.tsx
    const PostCard = ({ post, tag2 }: { post: CoreContent<Post>; tag2?: 'plog' }) => {
    	// 其实tag2是和post同级,且tag2,可不传或传'plog'。可不传用 : 前加 ? 来设置。
    }
    
🤪 您也可以编辑此页: