Реакция обновления пользовательских данных при каждой загрузке страницы - PullRequest
0 голосов
/ 15 января 2019

У меня проблема с выяснением чего-либо в приложении React, над которым я работаю. Когда пользователь входит в систему, он сохраняет информацию о пользователе, такую ​​как его имя и его роли. Используя это, мы отображаем имя пользователя и, очевидно, используем их роли для отображения или скрытия компонентов.

Проблема, с которой я сталкиваюсь, заключается в том, что, если имя пользователя меняется или его роль меняется, когда он вошел в систему, информация не обновляется. Теперь я могу просто обновлять данные каждый раз, когда пользователь редактирует свой собственный профиль, но что если пользователь с правами администратора отредактировал имя или роли зарегистрированного пользователя? Он не будет обновляться до следующего входа в систему.

Я думал об использовании withRouter и выполнении history.listen и обновлении информации о пользователях при каждой загрузке страницы на базе App.js. Проблема, с которой я сталкиваюсь, заключается в том, что он часто вызывается дважды с REPLACE, а затем PUSH, поэтому я не хочу делать 2 вызова API.

Можно ли сделать один вызов API только из-за изменения маршрута? Как мне это сделать? Я даже правильно подхожу к этому? Может быть, есть лучший способ решить эту проблему? Кажется, я ничего не могу найти, чтобы помочь мне с этим.

1 Ответ

0 голосов
/ 15 января 2019

Вы можете создать собственный компонент Route, который будет вызывать API при каждом перенаправлении. Посмотрите на это https://reacttraining.com/react-router/web/example/auth-workflow. В этом примере компонент «PrivateRoute» используется для проверки, авторизуется ли пользователь при каждом запросе. Вы можете создать компонент UpdateUserRoute для вызова API и проверки изменений данных пользователя.

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