3

を使用した React/Redux アプリがありreact-router-reduxます。Webpack を使用すると、すべて問題ありません。しかし、Bower をhttps://cdnjs.cloudflare.com/ajax/libs/react-router-redux/4.0.5/ReactRouterRedux.js(4.0.5 が最新バージョンで、私はreact-router2.4.1 を持っています) で使用すると、次のエラーが発生します。

history.listen は関数ではありません

ここに私のコードがあります

var syncHistoryWithStore = ReactRouterRedux.syncHistoryWithStore;
var browserHistory = ReactRouter.browserHistory;
var history = syncHistoryWithStore(browserHistory, store);
console.log(history); 

ReactDOM.render(
  <Provider store={store}>
    <Router history={history}>
      <Route path="/" component={App}/>
    </Router>
  </Provider>,
  document.getElementById('root')
);

記録する

History > {length: 2, state: Object, scrollRestoration: "auto"}

listenプロパティが欠落していることがわかります。

しかし、 のコードに入るsyncHistoryWithStoreと、返されるオブジェクトは listen を含む多くのプロパティを持つオブジェクトです。

Object { v2_compatible : true, ..., listen}

Objectそのため、何らかの形でSymbol( ) に変換されているように見えますが、そのHistory理由と方法はわかりません。

4

0 に答える 0