You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在TypeScript中正确传递Props给React组件?报错求助

问题解决方法

你遇到的错误根源是React函数组件的参数定义方式不对:

React函数组件接收的是单一的props对象,而不是多个独立参数。你原来的Navbar组件把isDark和toggle拆成了两个独立参数,但在JSX中使用时,你传递的是一个包含这两个属性的对象,TypeScript自然会报类型不兼容的错误。

修复方案有两种,选一种就行:

方案1:定义Props接口,接收完整props对象

// 先定义组件的props类型
interface NavbarProps {
  isDark: boolean;
  toggle: () => void;
}

// 组件接收props对象
function Navbar(props: NavbarProps) {
  // 可以解构出来方便使用
  const { isDark, toggle } = props;
  // ... 组件逻辑
}

方案2:直接解构props并声明类型

// 直接在参数里解构,同时声明类型
function Navbar({ isDark, toggle }: { isDark: boolean; toggle: () => void }) {
  // 直接使用isDark和toggle即可
  // ... 组件逻辑
}

改完之后,再用<Navbar isDark={someBoolValue} toggle={someFunc} />就不会报错了。

内容的提问来源于stack exchange,提问作者camelCaseIsGoodPractice

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 00:30:44