Nic*_* Bb 14 history.js reactjs react-router react-redux
所以基本上我在使用历史库进行反应时遇到问题。
是否由于最新版本而导致我应尝试降级历史版本,但由于错误指出该Support for the latter will be removed in the next major release.如何更改以及应该在哪里更改?
它说:
Warning: Please use `require("history").createBrowserHistory` instead of `require("history/createBrowserHistory")`. Support for the latter will be removed in the next major release.
和
Warning: Please use `require("history").createHashHistory` instead of `require("history/createHashHistory")`. Support for the latter will be removed in the next major release.
我不太确定如何解决它。
import createHistory from './history'
import { applyMiddleware, compose, createStore } from 'redux'
import { routerMiddleware } from 'connected-react-router'
import { persistStore, persistReducer } from 'redux-persist'
import storage from 'redux-persist/es/storage'
import thunk from 'redux-thunk'
import createRootReducer from './reducers'
export const history = createHistory();
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
const persistConfig = {
  key: 'root',
  storage
};
const reducers = persistReducer( persistConfig, createRootReducer(history));
const exampleMiddleware =  store => next => action => {
  // if (action.type === 'message'){
  //   do something
  // } else {
  //   next(action);
  // }
}
export default () => {
  const store = createStore(
    reducers,
    composeEnhancers(applyMiddleware(routerMiddleware(history), thunk, exampleMiddleware))
  );
  let persistor = persistStore(store)
  return  { store, persistor }
}
import React, { Component } from 'react';
import { Provider, ReactReduxContext } from 'react-redux';
// import { createStore } from 'redux';
import { ConnectedRouter } from 'connected-react-router'
import { PersistGate } from 'redux-persist/integration/react'
import configureStore, { history } from './configureStore'
import Routers from './Routers';
const { persistor, store } = configureStore();
class App extends Component {
  render() {
    return (
      <Provider store={store} context={ReactReduxContext}>
        <div> SYNTIFY </div>
        <PersistGate loading={null} persistor={persistor}>
          <ConnectedRouter history={history} context={ReactReduxContext}>
            <Routers />
          </ConnectedRouter>
        </PersistGate>
      </Provider>
    );
  }
}
export default App;
history.js
import createHistory from 'history/createBrowserHistory';
export default createHistory;
由于显示错误,因此无法呈现任何内容。
Giw*_*wan 16
creatBrowserHistory用大括号导入。它作为命名的export导出。
// history.js
import { createBrowserHistory } from "history";
export default createBrowserHistory(); 
然后导入并在索引中使用它。
// index.js
import history from "./history";
import { Provider } from "react-redux";
import store from "./store/store";
const AppContainer = () => (
    <Router history={history}>
        <Provider store={store}>
             <Route path="/" component={App} />
        </Provider>
    </Router>
);
Crs*_*ero 14
我改变了这个 
import createHistory from 'history/createBrowserHistory'
对此
import { createBrowserHistory } from 'history'
| 归档时间: | 
 | 
| 查看次数: | 7788 次 | 
| 最近记录: |