【发布时间】:2019-02-03 12:40:32
【问题描述】:
我正在创建一个简单的 react/redux web 应用程序,您可以在其中简单地输入用户名,然后它就会让您使用该数据登录到仪表板视图。没有登录机制,也不需要会话 cookie 或 jwt 令牌,只是一个了解单页应用程序如何使用 react/redux 流动的基本应用程序。
流程是这样的(使用反应路由器)
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)
}
}
.....
我不确定如何最好地解决有人出于任何原因重新加载仪表板页面并且状态消失的问题。现在我只是使用会话存储来保存用户名并在呈现帐户组件/页面时,它会检查它并将数据取回存储。
在持久化用户名和获取用户数据方面,这是一种更好的方法吗?这是错误的开始方式吗?
【问题讨论】:
-
你为什么不用
localStorage? -
我也用过。
-
那有什么问题?
-
我只是想确定没有一种更有效的方式来实现我想要实现的目标,或者没有更好的方式来持久化用户名。
标签: javascript reactjs redux