sanManjiro
@sanManjiro

Что делать если не удалось прочитать свойство value?

У меня есть отдельный компонент с полями занятости:
// Поле - "Семейное положение"
export const FamilyOptions = [
  { value: 1, label: "Не женат / Не замужем" },
  { value: 2, label: "Женат / Замужем" },
  { value: 3, label: "Вдовец / Вдова" },
  { value: 4, label: "Разведен / Разведена" },
  { value: 5, label: "Гражданский брак"},
]

// Поле - "Сфера деятельности"
export const ScopeOptions = [
  { value: 1, label: "Бухгалтерия, финансы, банки" },
  { value: 2, label: "Государственные службы, НКО" },
  { value: 3, label: "ИТ и Интернет, Телекоммуникации и связь" },
  { value: 4, label: "Медицина и фармация" },
  { value: 5, label: "Образование, наука, языки"},
  { value: 6, label: "Охрана, безопасность"},
  { value: 7, label: "Полиграфия, издательства, СМИ, Маркетинг, реклама, PR"},
  { value: 8, label: "Промышленность"},
  { value: 9, label: "Рестораны, кафе, общепит"},
  { value: 10, label: "Строительство, недвижимость"},
  { value: 11, label: "Сфера услуг"},
  { value: 12, label: "Торговля розничная"},
  { value: 13, label: "Туризм, гостиничное дело"},
  { value: 14, label: "Другое"},
  { value: 15, label: "Сельское хозяйство"},
]

// Поле - "Образование"
export const EducationOptions = [
  { value: 1, label: "Высшее профессиональное" },
  { value: 2, label: "Среднее специальное" },
  { value: 3, label: "Незаконченное высшее" },
  { value: 4, label: "Среднее" },
  { value: 5, label: "Другое"},
]

// Поле - "Занятость"
export const EmploymentOptions = [
  { value: 5, label: "Декретный отпуск" },
  { value: 6, label: "Свое дело (предприниматель, фрилансер)" },
  { value: 7, label: "Пенсионер" },
  { value: 8, label: "Работа по найму" },
  { value: 9, label: "Студент"},
  { value: 10, label: "Безработный"},
  { value: 11, label: "Военнослужащий/силовые структуры/охрана"},
  { value: 12, label: "Госслужащий"},
  { value: 13, label: "Иждивенец"},
  { value: 14, label: "Наемный рабочий офисный"},
  { value: 15, label: "Наемный рабочий физического труда"},
  { value: 16, label: "ИП"},
  { value: 17, label: "Прочее"},
]

Интегрирую я его вот таким вот образом:
import { FamilyOptions, ScopeOptions, EducationOptions, EmploymentOptions } from './components/options'
, и использую в другом компоненте:
<SelectComponent placeholder="Выберите семейное положение" options={FamilyOptions} style={customStyles} values={setFamilyStatus} />

Проблема заключается в том, что если попробовать написать после setFamilyStatus - familyStatus.value, то вылезет ошибка, что value не удалось прочитать, но если вывести через консоль этот объект, он будет иметь вид:
{value: 6, label: 'Свое дело (предприниматель, фрилансер)'}
label: "Свое дело (предприниматель, фрилансер)"
value: 6
[[Prototype]]: Object

Не понимаю почему ошибка, потому что по факту объект value есть, но он его не видит.
  • Вопрос задан
  • 129 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Включаю телепатию. Полагаю, что имеет место классика — при первом рендере значение не определено, а вы с ним пытаетесь работать, как с объектом. В консоли «пустое» значение тоже выводится, но вы его игнорируете.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы