新手反應問題。假設以下輸入
<div className="col-md-6">
<input
className="form-control"
name="manufacturer"
type="text"
onChange={handleReferencesChange}
value={references}
/>
</div>
<div className="col-md-6">
<input
className="form-control"
name="vehicleNumber"
type="text"
onChange={handleReferencesChange}
value={references}
/>
</div>
我撰寫了函式 handleReferencesChange 來獲取陣列(參考)中兩個輸入的值,然后將其推入資料庫(mongoDB)
const handleReferencesChange = (e) => {
e.preventDefault();
setValues({ ...values, references: [], [e.target.name]: e.target.value });
}
不幸的是,我不能填充參考陣列(我已經初始化為空陣列)
請您幫我理解為什么這些值不存盤在陣列中而是創建為分隔值。請參閱下面的螢屏截圖。

uj5u.com熱心網友回復:
您的setValues代碼說,“獲取所有值,向其中添加一個空references陣列,然后使用事件中的值添加/覆寫輸入的欄位名稱”。
如果要將內容推送到陣列中,則需要使用push. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push
const handleReferencesChange = (e) => {
e.preventDefault();
const newReferences = values.references.push({[e.target.name]: e.target.value})
const newValues = {...values, references: newReferences}
setValues(newValues);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/367594.html
