当前位置: 首页 > 知识库问答 >
问题:

如何使用typescript在react功能组件中定义自定义属性?

凌博实
2023-03-14

我刚刚用打字稿开始了一个新的反应项目,在功能组件中定义自定义道具时遇到了困难。

我查找了如何定义自定义道具,并找到了一种定义接口的方法,该接口详细描述了我传递给函数的道具类型,但是当我试图在我的主应用程序上运行它时,我得到一个错误消息

类型“{ digit: number; }”不能分配给类型“IntrinsicAttributes”。属性“数字”在类型“内部属性”上不存在。TS2322

我的代码:

import React from 'react';
import Button from '@mui/material/Button';
export {}


interface NumberButton {
  digit:number,
}

function NumberButton(props:NumberButton){
  return (
    <Button variant="contained" color="primary">{props.digit}</Button>
  )
}
import React from 'react';
import ReactDOM from 'react-dom';
import ClearButton from './Components';
import NumberButton from './Components';
export default function App(){

  return (
    <div>
      <ClearButton/>
      <NumberButton digit={1}/>
    </div>
  )
}

在使用钩子之后,我试图更熟悉功能性组件,并且我很喜欢使用它们。

共有1个答案

那开济
2023-03-14
export {}

目前你没有导出NumberButton组件,所以这是需要修复的主要问题。此外,组件和道具使用了相同的变量名。试试这个:

import React from 'react';
import Button from '@mui/material/Button';

interface NumberButtonProps {
  digit: number,
}

function NumberButton(props: NumberButtonProps){
  return (
    <Button variant="contained" color="primary">{props.digit}</Button>
  )
}

export default NumberButton;
 类似资料:
  • 问题内容: 我使用atocomplete.jquery插件来建议输入文本,结果得到了这个数组: 当我开始搜索从子字符串开始的东西时,它显示出数组排序如下: 我需要这样的东西: 有任何想法吗? 问题答案: 该插件可能区分大小写。尝试输入而不是。您可能将结果设置为不区分大小写。这个问题可能会有所帮助。 对于上的自定义排序函数,您可以使用任何JavaScript函数并将其作为参数传递给的方法,如下所示:

  • 有了钩子,功能性React组件不再是无状态组件。它可以有状态,所以为功能组件定义状态接口是有意义的。 虽然打字稿不会抛出任何错误/警告,但最好定义一下。 需要帮助做同样的事情。

  • 1.1.1. 自定义功能 1.1.2. 拦截器 1.1.3. 入口词多样化 1.1.4. 场景化技能 1.1.1. 自定义功能 本文将讲解除了Rokid技能创建平台上面提供的技能开发工具外,平台独有的一些自定义功能。 目录 一、拦截器 二、入口词多样化 三、场景化技能 1.1.2. 拦截器 拦截器接口文档 语义理解(NLP)的拦截器(interceptor),可以允许开发者在进入Rokid NLP

  • 问题内容: 在 Python 2.x中 ,我可以将自定义函数传递给sort和.sort函数 因为在 我的 语言中,辅音是与此顺序一起出现的 但是在 Python 3.x中 ,看起来我无法传递关键字 有其他选择吗?或者我也应该编写自己的排序函数吗? 注意:我通过使用“ k”,“ kh”等进行了简化。实际字符是Unicode,甚至更复杂,有时在辅音前后都有元音,所以我完成了自定义比较功能,因此这一部分

  • 问题内容: 我正在尝试定义在模板条件中使用的自定义Go函数。我要实现的是:如果给定的参数是IPv4地址,则模板将输出 IPv4:[argument] 否则它将输出 IPv6:[argument] 。 为此,我创建了一个像这样的模板: 如您所见,我创建了一个名为 IsIPv4 的新函数,该函数接受字符串参数,并给定参数返回true或false。这是代码: 在执行模板时,我没有任何错误,但是在尝试评估

  • 我在camel Kafka starter依赖项中使用了一个Kafka组件。在这个问题中,建议我使用“定制器”。我将如何在spring boot应用程序中使用它?