因此,我在我的一个名为 Start 的组件中运行了一个非常标准的输入表单,该表单向 App 提供请求玩家姓名的地方。这使用 React 钩子来初始化一个状态,然后改变状态onChange
。
import React, {useState} from 'react'
export default function Start() {
const [playerName, setName] = useState("Player")
function handleName (event){
setName(event.value)
}
return (
<div>
<h3>Player Name:</h3>
<input type ="text" value={playerName} onChange={handleName}/>
</div>
)
}
出于某种奇怪的原因,每当我输入玩家名称字段时,React 都会认为我将其设置为未定义,并给我这个错误:
警告:组件正在将受控输入更改为不受控。这可能是由于值从定义变为未定义引起的,这不应该发生。
我通过检查 React Dev Tools 进一步验证了这一点。出于某种原因,每次我在框中输入任何内容时,它都会认为新值未定义,但它仍然显示设置为 {playerName}! 的正确字母。如果这有什么不同的话,这也在路由/交换机内。
任何想法是什么问题/修复是什么?