0
レンダリングサーバーの間のセッションを持続私が反応するため、以下のスターターレポを使用して問題に出くわした:私は認証のためにsessionStorageをウッシングいreact-webpack-nodeストア/
及びこれによるスターターのサーバーレンダリングの性質のために、私はアクセスすることができませんことを実現このセッションデータはアプリが私のルートを保護するために、つまりサーバー上でレンダリングされている間、私は仕事に次の期待:
import React from 'react'
import { Route, IndexRoute } from 'react-router'
import App from 'containers/App'
import LoginPage from 'containers/LoginPage'
import DashboardPage from 'containers/DashboardPage'
export default (store) => {
const requireAuth = (nextState, replace, callback) => {
const token = sessionStorage.getItem('token')
if (!token) {
replace({
pathname: '/login',
state: { nextPathname: nextState.location.pathname }
})
}
callback()
}
const redirectAuth = (nextState, replace, callback) => {
const token = sessionStorage.getItem('token')
if (token) {
replace({
pathname: '/'
})
}
callback()
}
return (
<Route path='/' component={App}>
<IndexRoute component={DashboardPage} />
<Route path='/login' component={LoginPage} onEnter={redirectAuth} />
<Route path='/dashboard' component={DashboardPage} onEnter={requireAuth} />
<Route path='/logout' component={LoginPage} />
</Route>
)
}
しかし、そうではないと私は、これはセッションがサーバー上で未定義さが原因であると考えています。