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

React组件类型错误:useRef需设置何种类型以修复报错?

修复React TypeScript组件中的类型错误

你遇到的这个类型错误不是useRef的类型问题,根源在于useState的状态类型未正确声明:

你调用useState()时没有指定初始值或显式类型,TypeScript会自动推断enteredPlayerName的类型为undefined,因此setEnteredPlayerName只能接收undefined类型的参数。但playerName.current.value是字符串类型,两者类型不兼容,才触发了这个错误。

修复方案(二选一即可)

  • 方案1:给useState设置初始值(推荐)
    直接传入空字符串作为初始状态,TypeScript会自动推断状态类型为string:

    const [enteredPlayerName, setEnteredPlayerName] = useState("");
    
  • 方案2:显式声明useState的类型
    如果需要初始状态为undefined,可以显式指定状态类型为string | undefined:

    const [enteredPlayerName, setEnteredPlayerName] = useState<string | undefined>();
    

额外说明

你的useRef<HTMLInputElement>(null)类型声明是完全正确的,不需要修改——它已经准确约束了ref指向的是HTML输入元素。

内容的提问来源于stack exchange,提问作者Quantum-script

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 13:12:03