Pogran: нет, вы все же не правильно немного ищете. С бд не может быть готового решения, так как какая у вас бд? какой у вас бэкэнд? разделите задачу на 2 части. Первая - то что я ответил - задача фронта, вторая - бэкэнд. У бэкэнда задачи: принять пост запрос, положить данные в бд (либо принять пост запрос и выдать/не выдать токен и тд)
xfg: тогда как быть в таком случае? Я скорее всего не до конца понимаю, что есть сессия. Можно на примере вконтакте? У них сессии есть? Например: я получил токен для API, и пока он не истечет - я делаю все, что разрешено было в момент получения токена. Допустим токен был скомпроментирован. Что происходит дальше?
Boogie1989: ага, я не храню. Кто-то хранит (?). Еще читал в теории про более продвинутые техники, там посылается refresh-токен, чтобы обновить старый токен без "релогина".
Артем Кисленко: пишите на ангуляре/реакте в таком случае. Как уже сказали выше - проблем у react'a с индексированием нет, но вам придется делать server-side рендеринг. Про ангуляр - не в курсе.
Mikhail Osher: почему? Если я хочу вызвать изменения в state компонента, на основе данных из props - то почему это недопустимо? Даже двойного рендера не будет, а в документации по react'у как раз изменяют state на основе новых props. https://facebook.github.io/react/docs/component-sp...
Mikhail Osher: Если прикинуть, что мы "провидцы", то я бы тоже не использовал state в данном конкретном случае, так как все можно с легкостью сделать без этого ( если говорить только о том, что видим в вопросе: {data: response.data, pageNum: Math.ceil(response.data.length / 2)} )
Mikhail Osher: а по поводу state - если человеку зачем то нужно использовать state на основе данных из props - то пусть использует, я писал только о том, что это возможно и как это сделать.
Mikhail Osher: как они окажутся в props, если их не будет в mapStateToProps? сигнатура функции connect - (mapStateToProps, mapDispatchToProps)(Component). Про this все хорошо расписано в учебнике Кантора, на который ссылка есть.
Febox: именно! Только поправлю: не "на бэкэнде", а у вас на девелоперской машине (там где вы разрабатываете код) скорее всего будет стоять node.js, с которым идет пакетный менеджер npm, с помощью которого вы скачаете, и так как у вас установлен node.js сможете запускать webpack для удобства разработки. В процессе вы будете использовать разные другие пакеты, все это скорее всего так же будет скачано через npm, ибо удобно. А ваш бэкэнд (читай - сервер, который отдает json) - может быть написан хоть на чем. Он может работать в облаке или в другой вкладке в терминале. Он может уметь посылать данные по сокетам, а вы у себя на клиенте сможете принимать данные по сокетом, если напишите механизм, или ... скачаете еще один npm пакет =)