▼Прихований текст
ktretyak написав:До речі, питання до знайомих з ReactJS, що у ньому передбачено для авторизації користувача? SPA-сайти мають свою специфіку, фреймворки повинні враховувати її.
В Angular 2+ є так звані Guards (охоронці) в системі маршрутизації, вони перевіряють права доступів, причому можна робити перевірки як на рівні конкретного маршруту, так і на рівні цілого розділу (для кореневих компонентів, що мають дочірні компоненти).
Функції для цих Guards можуть працювати як синхронно, так і асинхронно, причому вони можуть повертати не лише Promise, а й Observable (що можна використовувати у вебсокетах).
Окрім цього, завдяки системі Dependency Injection, будь-який компонент запросто може отримати доступ до сервісу, що перевіряє, чи залогінений користувач в даний момент. Достатньо імпортувати цей сервіс в потрібний компоненти й запитати його у конструкторі:
export class MyComponent
{
constructor( public user: UserService ){}
}
Все, тепер шаблон даного компонента може працювати зі змінною user, яка знає чи користувач залогінений, знає хто саме залогінений і т.д.
Не знаю, чи є сенс відповідати євангелісту Ангулар, але:
1) реакт сам по собі не має жодних засобів для перевірки авторизації користувача, бо це лише в‘юха, і тому комплексних рішень не може бути, бо реакт - бібліотека, а ангулар - повноцінний фреймворк.
2) Одне з типових рішень - зберігати дані про користувача і чи він залогінений, чи ні, в стейті додатка, до якого можна прокинути доступ для компонентів, яким це потрібно
3) Зазвичай перевірка чи певний користувача має право дивитись певну в‘юху може відбуватись на рівні React Router, де можна для компонента прописати фукнцію, яка перевіряє все, що в певному конкретному випадку потрібно.
Ну і бтв, реакт прекрасно працює з тайпскріптом. В усякому разі, в мене проблем з цим нема, в моїх співробітників також. За всіх, звісно ж, не скажу.