我將所有資料都放入values變數中,因此我嘗試訪問變數并在更新突變之前values洗掉該欄位。__typenames
這是我試過的
values.profiles.forEach(i => delete i["__typename"]);
但我收到了這個錯誤
TypeError: Cannot delete property '__typename' of #<Object>
在 try 塊中,我創建了一個obj物件。這是我收到的完全相同的物件values
但是,如果我嘗試從中洗掉__typename它就obj可以了。
obj.profiles.forEach(i => delete i["__typename"]);
這是我的代碼,
<Formik
initialValues={initialValues}
onSubmit={async (values, { setSubmitting }) => {
try {
setSubmitting(true);
const obj = {
"profiles": [
{
"__typename": "Account",
"firstName": "John1",
"lastName": "Doe1",
},
{
"__typename": "Account",
"firstName": "John2",
"lastName": "Doe2",
}
],
}
obj.profiles.forEach(i => delete i["__typename"]);
console.log(obj);
values.profiles.forEach(i => delete i["__typename"]);
console.log(values);
...
} catch (e) {
console.log(e)
}
/>
有什么我想念的嗎?
uj5u.com熱心網友回復:
您可以使用類似的實用程式omit-deep-lodash
import { omitDeep } from ‘omit-deep-lodash’;
const profilesWithOmittedTypename = obj.profiles.map(o => omitDeep(o, ‘__typename));
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/515579.html
標籤:反应打字稿图形
上一篇:如何在此組件設定中推斷型別?
下一篇:如果未指定,則默認的可選工廠引數
