我正在尝试通过查询参数获取从api发送的授权码:
http://example.com?code=AUTH_CODE
然而,当页面加载时,它会转发到url,而无需我在Redux-Persist和React-Router-Redux中使用React-Redux。我可以找到查询参数在" persist /REHYDRATE“之前的状态,但不能让persist离开路由缩减程序。我相信Redux- persisting会持久化路由并消除查询参数。下面是我的记录器输出:

我可以在箭头所在的“prev state”处看到查询参数,但它在下面的“next state”处消失了。

我尝试过使用黑名单和redux-persist transform-filter将“路由”列入黑名单,但没有成功。
这是我的index.js的样子:
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux'
import { createStore, applyMiddleware, compose } from 'redux'
import registerServiceWorker from './registerServiceWorker';
import rootReducer from './reducers'
import { Router, browserHistory } from 'react-router'
import { syncHistoryWithStore } from 'react-router-redux'
import routes_design from './routes'
import { persistStore, persistReducer } from 'redux-persist'
import storage from 'redux-persist/lib/storage'
import { PersistGate } from 'redux-persist/lib/integration/react'
const config = {
key: 'root',
storage
}
const reducer = persistReducer(config, rootReducer)
function configureStore () {
let store = createStore(
reducer,
compose(...) // Middleware here removed for brevity
)
let persistor = persistStore(store)
return { persistor, store }
}
const { persistor, store } = configureStore()
const history = syncHistoryWithStore(browserHistory, store)
ReactDOM.render(
<Provider store={store}>
<PersistGate loading={null} persistor={persistor}>
<Router history={history} routes={routes_design}/>
</PersistGate>
</Provider>,
document.getElementById('root')
)
registerServiceWorker()发布于 2018-01-27 22:45:01
如果其他人遇到类似的问题--我知道了。我正确地将我的路由缩减程序列入黑名单,但我需要清除持久化程序。在我实施黑名单之前,我的商店就开始变得很糟糕。
发布于 2018-01-27 07:19:30
如果您已经更新或正在使用react-router v4,那么我在解析回调字符串时遇到了类似的问题,在我的例子中,这是因为我更新了react-router v4,在该url中,他们停止解析查询字符串,但有许多库可以处理这个问题,我使用query-string解决了这个问题
您可以在同一网站上查看github的问题:https://github.com/ReactTraining/react-router/issues/4410
https://stackoverflow.com/questions/48470313
复制相似问题