@campus1

Примеры React / Redux?

Здравствуйте. Хорошо знаком с React / Redux. Сейчас хочу начать разрабатывать довольно большой проект (для себя) (API сторонний). И у меня появился ряд интересующих вопросов
1. Как реализуется такая штука как пагинация? Интересует именно она, т.к Infinite scroll & Load more я знаю как сделать.
2. Как реализовать аутентификацию? Интересует как определять авторизированного юзера от только вошедшего (я думаю с помощю localStorage).
P.S для auth хочу юзать JWT || OAuth2

Накидайте пожалуйста примеров / статтей / туториалов что-бы посмотреть.

Большое спасибо за ответы.
  • Вопрос задан
  • 486 просмотров
Решения вопроса 3
vicodin
@vicodin
Имею некоторый опыт
1) https://react.semantic-ui.com/addons/pagination
2) лучше в кукис, получаете токен с сервера кладёте туда, в запросах берете токен из них
Ответ написан
EaGames
@EaGames
Front-end developer
1. Как реализуется такая штука как пагинация? Интересует именно она, т.к Infinite scroll & Load more я знаю как сделать.

Ну пагинация это тоже самое что и LoadMore, только в случае с loadmore вы просто к массиву элементу добавляете новые полученные, а в пагинации их просто заменяете.

2. тут согласен с Anton Filippov
Ответ написан
@vladlomov
Приветствую!

1) Пагинация. Основная работа здесь ложиться на backend (в идеале). Именно туда с сайта идут запросы с параметрами (page, sortBy, limit, filter, etc) и результаты просто рисуются (в таблице например). Но так как у вас он "сторонний", то могут быть нюансы.

2) Я не пойму, что понимается под "только вошедшим" юзером. Если он "вошел", то он прошел аутентификацию и авторизацию. Или имеется ввиду просто человек, который первый раз открыл ваш сайт и у него нет логина/пароля?

В общих чертах, делал так: на сервер уходил логин/пароль, с сервера возвращался token, refresh_token, expiration_date, которые сохранялись в localStorage (token еще в редаксе хранился).
Далее, перед каждым запросом делалась простая проверка срока действия токена, и либо пускаем дальше, либо обновляем токен (и пускаем дальше в случае успеха), либо просим снова логин-пароль. (Такаяже логика при первом заходе читаем токен из localStorage и по кругу).

Читать-смотреть можно что угодно, по своей теме с приставкой "Advanced" ;)

Посмотреть можно этот туториал. Я отсюда брал идею "авторизации токенами".

P.S. Для больших проектов еще хорошо бы продумать их структуру, чтобы не было мучительно больно :)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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