首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >作为' component‘属性传递的链接组件的类型

作为' component‘属性传递的链接组件的类型
EN

Stack Overflow用户
提问于 2020-03-06 22:36:55
回答 1查看 563关注 0票数 0

我有一个函数组件(带有TypeScript),假设它叫做Button。我从Material-UI中将Button作为BaseButton导入,设置样式,添加一些很酷的元素(我在这里删除了不必要的代码),然后将它导出为我自己的Button。稍后,当我在代码中的某个地方使用这个导出的button时,我想将Link组件(从react-router-dom导入)作为一个‘组件’属性传递给这个按钮。我应该在ButtonProps接口中使用什么类型?另外,'to‘prop应该被指定为一个字符串吗?

代码语言:javascript
运行
复制
component/button.tsx

import * as React from 'react';
import { Button as BaseButton } from '@material-ui/core';

interface ButtonProps {
  component: ???;
  to: string;
}

export const Button: React.FC<ButtonProps> = ({ component, to }) => (
  <BaseButton component={component} to={to} />
)

代码语言:javascript
运行
复制
some other place

import { Button } from 'components/button';
import { Link } from 'react-router-dom';

(...)
  <Button component={Link} to={'/'} />
(...)
EN

回答 1

Stack Overflow用户

发布于 2020-03-06 22:46:09

< Link >标记不是可视组件,而是用于添加导航功能的包装器,material-ui的用途正好相反,因此应该导航如下内容

代码语言:javascript
运行
复制
    export const Button: React.FC<ButtonProps> = ({ to }) => 
      <Link to={to}
        <BaseButton /> // your own styled compnent
      </Link>
     )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60566252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档