Ошибка получения длины массива, хранящегося в состоянии - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь подсчитать количество элементов в массиве, который хранится в моем состоянии redux. Вот мой код:

const user = useSelector((state) => state.user);

const userCompanies = user.companyId;

if ( userCompanies.length == 1 ) {
    alert('Only one company');
};

Мой пользовательский объект выглядит так (и отлично выводит через журнал консоли):

Object {
"companyId": Array [
    "NhOmasfaJWpFDd9erU",
],
"email": "example@gmail.com",
"userId": "jGibL0twsafsqYAmxx9X0C2",
}

Однако я получаю Невозможно прочитать свойство 'length' неопределенного при загрузке экрана. Я пытаюсь провести подсчет слишком рано или что-то в этом роде? Как мне это исправить?

1 Ответ

1 голос
/ 28 мая 2020

Ваше состояние - это целый контейнер для этой информации (идентификатор компании, электронная почта ..)

Чтобы получить доступ к этому контейнеру, вам нужно сделать следующее:

const user = useSelector((state) => state.user.user);

Первый .user - это ключ, который вы определили в App.js. Второй - это контейнер состояния в redux

Тогда при доступе companyId вам просто нужно:

user.companyId
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...