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

Typescript React组件类型不匹配

闾丘鸣
2023-03-14

使用任意数量的属性定义任何类型的简单react函数组件时出现类型脚本错误,包括使用FC、ComponentWithChildren等...

这是一个最小的复制品

type Props = {
  className?: string;
};

const Horizontal: Props = ({ className = undefined }) => (
  <div />
);

给了我错误

类型“({ className }: { className?:未定义;}) =

我不明白这就是我总是定义组件的方式。打字稿中有什么我不知道的新东西吗?

{
  "name": "call-mvp",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.16.4",
    "@testing-library/react": "^13.2.0",
    "@testing-library/user-event": "^13.5.0",
    "@types/classnames": "^2.3.1",
    "@types/jest": "^27.5.1",
    "@types/node": "^16.11.36",
    "@types/react": "^18.0.9",
    "@types/react-dom": "^18.0.4",
    "@types/react-measure": "^2.0.8",
    "@types/react-router-dom": "^5.3.3",
    "@types/styled-components": "^5.1.25",
    "classnames": "^2.3.1",
    "react": "^18.1.0",
    "react-dom": "^18.1.0",
    "react-measure": "^2.5.2",
    "react-router-dom": "^6.3.0",
    "react-scripts": "5.0.1",
    "styled-components": "^5.3.5",
    "typescript": "^4.6.4",
    "web-vitals": "^2.1.4"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}


共有2个答案

单于耘豪
2023-03-14

这应该可行:

const Horizontal = ({ className = undefined } : Props) => ....
罗均
2023-03-14

您可以将其更改为:

const Horizontal: FC = ({ className = undefined } : Props)
 类似资料:
  • 我在这里复制代码;https://developer.android.com/codelabs/kotlin-android-training-view-model#5 但我从DataBindingUtil中得到了一个类型不匹配。充气方法。正在返回ViewDataBinding!,当需要FragmentPlayBinding时。 我https://github.com/google-develop

  • 问题内容: 编写内部API时遇到以下错误。我正在尝试以以下方式读取值(SQL Server 2012): 现在,虽然看起来有些奇怪,但我以这种方式阅读的原因是因为它是我编写的包装程序的一部分,我们使用它来加快sql的读写速度。它接受一个匿名对象,并根据属性名称或属性名称将所有sql值读入其中。 这适用于除以外的所有内容。我进行了类型比较,它也同样失败,因此很hacky,我什至无法检查该列是否为类型

  • 问题内容: 我第一次使用JavaFx,遇到事件问题。我用SceneBuilder构建了一个表单,并在.fxml和controller上添加了一个事件,但始终返回: FirstScene.fxml: FirstSceneController.java: JavaFxApplication.java: 例外: 我将非常感谢您的帮助。 问题答案: 使用,而不是。

  • 问题内容: 链接是 http://iipacademy.in/askpoll/ten_feed.php 异常在onPostExecute()方法(第4行)中: LOGCAT: 消息是一个数组,所以它的代码应该是什么或如何解决? 提前致谢 。。。 问题答案: 看起来响应是一个字符串而不是json数组 结果是一个json对象而不是json数组 应该

  • 我对Kotlin是新来的,这是我的问题: 我使用android studio 3.2.1 kotlin版本:1.2.71 对此有什么想法吗?

  • 问题内容: 我试图在Swift中使用JSONDecoder将JSON转换为Structs,所以我编写了所有Structs,将它们修改了几个小时,但它仍然给我这个错误。我不知道是否有办法查看给出此信息的行。我将在下面发布我的struct,并在其后发布Json File链接。 完整的错误描述是: typeMismatch(Swift.Dictionary ,Swift.DecodingError.Co