从express中redirect到react-router

我将身份validation添加到我的应用程序,它使用react-router.And反应路由器正在处理我的login/注册page.Also我使用护照进行身份validation和通行证身份validation工作正常。

但是,当我的护照有一个成功的身份validation,并且我正在redirect到仪表板页面时,我遇到了一个问题。

server.js: –

app.get('/auth/google/callback', passport.authenticate('google', { successRedirect: '/dashboard', failureRedirect: '/', })); app.get('*',(req, res) => { if (process.env.NODE_ENV === 'development') { webpackIsomorphicTools.refresh(); } const memoryHistory = createHistory(req.originalUrl); const store=configureStore(memoryHistory); const history = syncHistoryWithStore(memoryHistory, store); function hydrateOnClient() { res.send(`<!doctype html>${ReactDOM.renderToString(<Default assets={webpackIsomorphicTools.assets()} store={store} />)}`); } match({ history, routes: routes(store), location: req.originalUrl }, (error, redirectLocation, renderProps) => { if (redirectLocation) { res.redirect(redirectLocation.pathname + redirectLocation.search); } else if (error) { console.error('ROUTER ERROR:', pretty.render(error)); res.status(500); hydrateOnClient(); } else if (renderProps) { const component = ( <Provider store={store} key="provider"> <RouterContext {...renderProps} /> </Provider> ); res.status(200); global.navigator = { userAgent: req.headers['user-agent'] }; res.send(`<!doctype html>${ReactDOM.renderToStaticMarkup(<Default assets={webpackIsomorphicTools.assets()} component={component} store={store} />)}`); } else { res.status(404).send('Not found'); } }); }); 

在服务器端为由react-router服务的仪表板路由派生URL的最好方法是什么?