Я создаю простое веб-приложение реагирования / редукции, в котором вы можете просто ввести имя пользователя, и оно будет как бы регистрировать вас в виде панели инструментов с этими данными. нет механизмов входа в систему или необходимости использовать сеансовые куки или токены jwt, просто базовое приложение, чтобы узнать, как одностраничные приложения протекают с реагированием / избыточностью.
поток идет так (с реагирующим маршрутизатором)
login page (/login) ->
enter username ->
handle submit ->
fetch data ->
populate redux store ->
redirect to dashboard component (/dashboard) ->
render data
class Login extends React.Component {
handleSubmit = event => {
this.props.getData(this.state.username)
}
render() {
.....
if (data !== '' && data.username !== '') {
return <Redirect to='/account'/>;
}
.....
}
}
class Account extends React.Component {
componentDidMount() {
if (!sessionStorage.username) {
sessionStorage.username = this.props.data.username;
} else {
this.props.getAddressInformation(sessionStorage.username)
}
}
.....
В чем я не уверен, так это в том, как наилучшим образом решить проблему, при которой кто-то по какой-либо причине перезагружает страницу панели мониторинга, и состояние исчезает. Пока я просто использую хранилище сеансов для сохранения имени пользователя и при рендеринге компонента / страницы учетной записи, он проверяет его и извлекает данные обратно в хранилище.
это лучший способ сделать это с точки зрения сохранения имени пользователя и извлечения пользовательских данных? это неправильный способ сделать это для начала?