3 回答

TA貢獻1790條經(jīng)驗 獲得超9個贊
在TextBox
組件中,您通過{...props}
. 考慮到它TextField
本身沒有handleChange
屬性,我假設(shè)它將它傳遞給底層的輸入 DOM 元素,該元素?zé)o法識別該道具。
您可以做的是提取內(nèi)部使用的道具TextBox
并使用 rest 參數(shù)收集其余部分,因此您最終不會傳遞不必要的道具:
export default function TextBox({handleChange, handleClickShowPassword, handleMouseDownPassword, value, ...props}) {
另一種選擇是{...props}
從TextField
組件中刪除并顯式傳遞所有必要的道具。

TA貢獻1798條經(jīng)驗 獲得超3個贊
我改變了handleChange()函數(shù),你只是設(shè)置了VALUE狀態(tài),你需要在第一個輸入時設(shè)置狀態(tài)userId,在第二個輸入時設(shè)置密碼
在 b.js 添加 props name={stateName} 以便 handleChange() 可以知道哪個輸入正在控制
查看演示以獲取更多信息: https ://codesandbox.io/s/gracious-heisenberg-z4q4z
(其他答案解釋了為什么您在控制臺中收到該錯誤...道具)

TA貢獻1993條經(jīng)驗 獲得超6個贊
React 不喜歡道具名稱中的大寫字母。而不是傳遞“handleChange”,而是傳遞“handlechange”。對于“handleMouseDownPassword”,您將收到類似的錯誤。
關(guān)于輸入問題,我認(rèn)為您沒有提供足夠的上下文。但是您必須有一個 handleChange 方法來在每次更改字段時更新狀態(tài)。
添加回答
舉報