簡體   English   中英

React.FC泛型之一

[英]React.FC generic one of

我正在嘗試構建將根據道具返回路由器鏈接或提供按鈕的組件。 這是我的一段代碼:

import React from 'react';
import Button from '@material-ui/core/Button';
import { Link } from 'react-router-dom';

type OwnProps = { url: string } | { onClick: () => void };

const NavButton: React.FC<OwnProps> = ({ url, onClick, children }) => (
  <Button component={url ? Link : undefined} to={url} onClick={onClick}>
    {children}
  </Button>
);

export default NavButton;

但是,我收到一條錯誤消息:

TS2339:類型“PropsWithChildren”上不存在屬性“url”。

TS2339:類型“PropsWithChildren”上不存在屬性“onClick”。

PS:我不希望這兩個道具都包含在界面中。 我想要這個或那個。

您可以像這樣輸入OwnProps

{ url: string, onClick?: never } | { url?: never, onClick: () => void }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM