我正在嘗試將組件中的物件復制到屬性。我能夠讓它像這樣作業:
onSubmit: values => {
data.label = values.label;
data.userName = values.userName;
data.recipientUserName = values.recipientUserName
data.vanityURL = values.vanityURL;
data.dollarAmount = values.dollarAmount;
data.textData = values.textData;
我是 javascript 新手,但這感覺非常難看。有沒有一種方法可以在不遍歷每個欄位的情況下進行直接淺拷貝?
創建的資料物件在頂部傳遞為:
export default memo(({ id, data, isConnectable,setElements, removeElements}) => {
const [show, setShow] = useState(false);
const handleClose = (e) => {setShow(false)};
const handleShow = () => setShow(true);
const formik = useFormik({
initialValues: {
label: data.label,
userName: '',
recipientUserName: '',
vanityURL: '',
dollarAmount: '',
textData: ''
},
onSubmit: values => {
data.label = values.label;
data.userName = values.userName;
data.recipientUserName = values.recipientUserName
data.vanityURL = values.vanityURL;
data.dollarAmount = values.dollarAmount;
data.textData = values.textData;
},
onReset: (values, { resetForm }) => resetForm(),
});
return ( ....
的onSubmit是一個Formik形式的一部分。
uj5u.com熱心網友回復:
為了執行淺拷貝,您可以遵循這些方法之一。
- 使用展開 (...) 語法
- 使用 Object.assign() 方法
- 使用 JSON.stringify() 和 JSON.parse() 方法
示例 1
data = {...values}
示例 2
data = Object.assign({}, values)
示例 3
data = JSON.parse(JSON.stringify(values));
uj5u.com熱心網友回復:
你可以做
const data = {...value}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/405397.html
標籤:
