Size: a a a

Next.js — русскоговорящее сообщество

2020 March 12

V

Valentin in Next.js — русскоговорящее сообщество
+, это когда с запросом ты так же хочешь обновить токен что бы держать сессию подольше
источник

OR

Oleg Rizhkov in Next.js — русскоговорящее сообщество
🤯
источник

OR

Oleg Rizhkov in Next.js — русскоговорящее сообщество
окей, спасибо, попробую.
источник

V

Valentin in Next.js — русскоговорящее сообщество
идеальный вариант, все упростить по макс и на тонкие интерфейсы, если не так сделано будет легче исправить. макс без лишних чувств к коду плез
источник

V

Valentin in Next.js — русскоговорящее сообщество
Кто как выбирает стратегию какой компонент рисовать? Если он зависит от юзер агента - вьюпорта интерфейса пользователя и хотелось бы при ресайзе пересчитывать вьюпорт.
Или это слишком сложно? Блин… лень описывать всю боль выбора
источник

I

Iri 🍕 in Next.js — русскоговорящее сообщество
Если не запариваться, можно взять что-то вроде react-responsive
источник

V

Valentin in Next.js — русскоговорящее сообщество
Iri 🍕
Если не запариваться, можно взять что-то вроде react-responsive
на ssr работает?
источник

ВЛ

Владимир Линкевич in Next.js — русскоговорящее сообщество
а как на SSR ты хочешь viewport?
источник

I

Iri 🍕 in Next.js — русскоговорящее сообщество
ну у нас на проекте с некстом есть react-responsive, все норм работает
источник

V

Valentin in Next.js — русскоговорящее сообщество
У нас был синглстон который работал только с авторизацией, и в нем был метод получения токена:
@action.bound
   getToken(forceLoad?: boolean): Promise<ITokenModel> {
       this.logger.grCol('getToken');
       return new Promise((resolve, reject) => {
           if (!forceLoad && !isNil(this.tokenModel)) {
               resolve(this.tokenModel);
               this.logger.debug('from cache');
               this.logger.grEnd();
           } else {
               this.authService
                   .createToken()
                   .then(res => {
                       this.logger.debug('token successful');
                       this.tokenModel = { ...res };
                       this.deferredProlongateToken(res);
                       this.eventChannel.publish(AuthStoreEvents.Token.Received);
                       this.logger.grEnd();
                       resolve(res);
                   })
                   .catch(err => {
                       this.tokenModel = void 0;
                       this.logger.error('token error');
                       this.eventChannel.publish(AuthStoreEvents.Token.ReceiveError);
                       this.logger.grEnd();
                       reject(err);
                   });
           }
       });
   }
источник

V

Valentin in Next.js — русскоговорящее сообщество
само продление реализовано в 3 приватных методо, описывающих интервал и постукивание по рест апи, до получения ответа.
источник

OR

Oleg Rizhkov in Next.js — русскоговорящее сообщество
Valentin
У нас был синглстон который работал только с авторизацией, и в нем был метод получения токена:
@action.bound
   getToken(forceLoad?: boolean): Promise<ITokenModel> {
       this.logger.grCol('getToken');
       return new Promise((resolve, reject) => {
           if (!forceLoad && !isNil(this.tokenModel)) {
               resolve(this.tokenModel);
               this.logger.debug('from cache');
               this.logger.grEnd();
           } else {
               this.authService
                   .createToken()
                   .then(res => {
                       this.logger.debug('token successful');
                       this.tokenModel = { ...res };
                       this.deferredProlongateToken(res);
                       this.eventChannel.publish(AuthStoreEvents.Token.Received);
                       this.logger.grEnd();
                       resolve(res);
                   })
                   .catch(err => {
                       this.tokenModel = void 0;
                       this.logger.error('token error');
                       this.eventChannel.publish(AuthStoreEvents.Token.ReceiveError);
                       this.logger.grEnd();
                       reject(err);
                   });
           }
       });
   }
выглядит пугающе.
источник

V

Valentin in Next.js — русскоговорящее сообщество
Oleg Rizhkov
выглядит пугающе.
прочто прочти что там написанно. спец писали что бы любой момент вернуться (коду 2 год без изменений) и понять что и как работает
источник

OR

Oleg Rizhkov in Next.js — русскоговорящее сообщество
вообще, получается, если токен будет в куках, он мне будет сразу приходить? то есть, мне не нужно на клиенте ждать как с локал стором?
источник

I

Iri 🍕 in Next.js — русскоговорящее сообщество
ну на сервер же кука не прилетит
на клиент сайде все равно надо с ней работать
источник

OR

Oleg Rizhkov in Next.js — русскоговорящее сообщество
Iri 🍕
ну на сервер же кука не прилетит
на клиент сайде все равно надо с ней работать
не совсем понял. сейчас у меня через локал стор, и если юзер зашёл на страницу, где нужен токен, я не могу узнать его, и по умолчанию токен null. при этом есть didMount, в котором есть гет. он отправляется с пустым токеном. куки не решат проблему, что у меня уже будет токен?
источник

I

Iri 🍕 in Next.js — русскоговорящее сообщество
Oleg Rizhkov
не совсем понял. сейчас у меня через локал стор, и если юзер зашёл на страницу, где нужен токен, я не могу узнать его, и по умолчанию токен null. при этом есть didMount, в котором есть гет. он отправляется с пустым токеном. куки не решат проблему, что у меня уже будет токен?
Куки вообще не нужно отправлять явно, они сами летят в каждом запросе. И вообще лучше запретить к ним доступ с помощью js (поставив флаг httpOnly)
источник

OR

Oleg Rizhkov in Next.js — русскоговорящее сообщество
Iri 🍕
Куки вообще не нужно отправлять явно, они сами летят в каждом запросе. И вообще лучше запретить к ним доступ с помощью js (поставив флаг httpOnly)
у меня есть бек, на котором всё логика. и авторизации, и апи. мне нужно к нему обратиться просто. как мне отправить запрос без токена?
источник

V

Valentin in Next.js — русскоговорящее сообщество
Iri 🍕
Куки вообще не нужно отправлять явно, они сами летят в каждом запросе. И вообще лучше запретить к ним доступ с помощью js (поставив флаг httpOnly)
мне нужно от кук выводить разный контент на ssr (показывать контакты), как это сделать без исп getInitialProps, что бы оставить возможность генерить статику где это возможно?
источник

I

Iri 🍕 in Next.js — русскоговорящее сообщество
Oleg Rizhkov
у меня есть бек, на котором всё логика. и авторизации, и апи. мне нужно к нему обратиться просто. как мне отправить запрос без токена?
Так ты определись, куки тебе нужны или jwt токены
источник