Мне нужна помощь для перебора переменных / элементов состояния для создания объекта. Я собираюсь перебрать состояние firstName, состояние lastName и многие другие состояния. Код становится слишком сложным. Интересно, есть ли правильный способ построить объект для вызова graphql? или просто лучший способ построить объект?
У меня есть страница профиля, на которой есть формы для обновления учетной записи пользователя. Каждый вход формы имеет состояние и реквизиты setState. При отправке формы эти значения необходимо сверять с предыдущей запрашиваемой информацией, хранящейся в объекте учетной записи, хранящемся в состоянии. Я использую конечную точку graphql, и когда я вызываю вызов для обновления учетной записи, у меня есть 3 варианта для каждого значения параметра в вызове graphql. Например, firstName может быть
1) Нуль (удалить в базе данных)
2) Некоторое ненулевое значение (измените это значение в базе данных)
3) поле не существует в вызове graphql call (ничего не делать с этим атрибутом)
Код ниже я должен сделать для 20 значений состояния, что не практично.
// If there is a difference between client's firstName and queried firstName in server
if (firstName != account.firstName) {
//If we stored firstName as empty String
if(firstName === ''){
//If the firstName queried is not empty
if(account.firstName != null) {
//Set the objects first name attribute to null, so server deletes field
input['firstName'] = null;
} else {
//firstName is empty string and server value is null, so do nothing, do not add attribute firstName to object "input"
}
} else {
//firstName is not an empty string so add it to object value
input['firstName'] = firstName;
}
}
Если есть лучший способ сделать это, я буду рад помощи.