後にリダイレクトされません。ルートの場所(/
)ログイン画面が表示され、ログイン後、カタログビューにリダイレクトされます。ユーザーが別の場所にアクセスしている場合(例:/catalog/overview
)、ユーザーにログインするように求められ、認証が成功すると、ユーザーは/catalog/overview
にリダイレクトされます。Reduxの-AUTH-ラッパーは、私は次のように反応-ルーターをセットアップを持っている認証
事実:最初のリダイレクトはうまく動作します。私が場所にアクセスしようとすると、ログインページが表示されます。そこで、redirectActionが機能していることを述べることができます。また:私はconsole.log state.get('user')
私は通常私の状態にあるユーザーオブジェクトを取得するので、authSelectorはうまく動作します。さらに:最初のIndexRouteナビゲーションからUserIsAuthenticated
を取り除くと、それがすべきであるように動作しています。
ログインするとRedux DevToolsに自分のトークンが設定されていることが示され、react-router-redux routerActions.replace
に応答すると表示されます。
マイuserReducer.js:
import { Map } from 'immutable'
import {
USER_LOGGED_IN,
USER_LOGGED_OUT
} from './consts'
export default function authenticationReducer (
state: Map<*, *> = Map({}), action: Object
) {
switch (action.type) {
case USER_LOGGED_IN:
return state
.set('token', action.payload.get('token'))
case USER_LOGGED_OUT:
return state
.set('token', undefined)
default:
return state
}
}
そして、これは私が私のルートをロードする方法である:
const renderApp =() => {
ReactDOM.render(
<AppContainer>
<MuiThemeProvider muiTheme={muiTheme}>
<Provider store={store}>
<Router history={history} routes={routes} />
</Provider>
</MuiThemeProvider>
</AppContainer>,
document.getElementById('root')
)
}
にはどうすればログイン時にこれらのルートを再トリガすることができますか?
Loginコンポーネントの周りに余分なUserAuthWrapperを追加することは、本当に問題の解決策です。お問い合わせいただきありがとうございます! – Dani