首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Redux-Persist和React-Router-Redux查询参数丢失

使用Redux-Persist和React-Router-Redux查询参数丢失
EN

Stack Overflow用户
提问于 2018-01-27 06:12:10
回答 2查看 662关注 0票数 0

我正在尝试通过查询参数获取从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的样子:

代码语言:javascript
复制
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()
EN

回答 2

Stack Overflow用户

发布于 2018-01-27 22:45:01

如果其他人遇到类似的问题--我知道了。我正确地将我的路由缩减程序列入黑名单,但我需要清除持久化程序。在我实施黑名单之前,我的商店就开始变得很糟糕。

票数 1
EN

Stack Overflow用户

发布于 2018-01-27 07:19:30

如果您已经更新或正在使用react-router v4,那么我在解析回调字符串时遇到了类似的问题,在我的例子中,这是因为我更新了react-router v4,在该url中,他们停止解析查询字符串,但有许多库可以处理这个问题,我使用query-string解决了这个问题

您可以在同一网站上查看github的问题:https://github.com/ReactTraining/react-router/issues/4410

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48470313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档