Получить cookie при первом рендере возвращает неопределенное с universal-cookie - PullRequest
0 голосов
/ 20 сентября 2018

Я использую universal-cookie и пытаюсь получить свои куки при первом рендере.Тем не менее, он возвращает undefined, но когда я обновляю страницу, я вижу его.

Сначала мне нужно импортировать пакет cookie:

class PosAdmin extends Component{

cookies = new Cookies();

.....

Затем мне нужно установитьпеченье, которое я делаю так.Внутри моего обещания я получил:

.then(result => {
            if (result.value) {
                const cookieId = uuidv4();
                this.cookies.set(cookieDevicePairConstants.POS,
                    cookieId,
                    {
                        path: '/admin',
                        maxAge: 31536000
                    });
                const posToSelect = {
                    ...pos,
                    cookieId
                }
                this.props.updateSelectedPos({
                    variables: {
                        pos: posToSelect
                    }
                }).then(() => {
                    this.props.pairPosWithDevice({
                        variables: {
                            posId: posToSelect.id,
                            cookieId
                        }
                    });
                    }).then(() => {
                        this.props.posQuery.updateQuery((prev) => {
                            const newData =
                                prev.getPoses.map(pos => posToSelect.id === pos.id ? posToSelect : pos);
                            return { getPoses: newData };
                        });
                    });
            }
        });

И когда я пытаюсь получить печенье, я делаю это внутри моего render:

let thisDeviceCookieId = this.cookies.get(cookieDevicePairConstants.POS);

Но сначала он возвращается неопределенным, но после того, как я обновлю страницу, я могу увидеть значение там.Я абсолютно не знаю, что не так, и я благодарен за всю помощь, которую могу получить.

Спасибо, что нашли время, чтобы прочитать.

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