历史对象鸡蛋问题与react-router-redux routerMiddleware()和syncHistoryWithStore()

时间:2017-03-29 00:56:26

标签: react-router react-router-redux

如果您想通过Redux操作发布导航事件,docs会告诉您使用routerMiddleware

要调用routerMiddlware(),您需要为其提供History对象,并且尚未创建Redux存储(因为在存储构建期间应用了Redux中间件)。

然而tutorial example显示您应该调用syncHistoryWithStore()来“包裹”您的历史对象。

这会产生鸡蛋问题,因为要调用syncHistoryWithStore(),您需要一个Store对象,但为了获得Store个对象,您需要调用{带有routerMiddlware()对象的{1}}。

我通过给History一个非包装的历史对象,创建商店然后像这样更新历史来解决这个问题:

routerMiddlware()

然而,由于我对代码库不够熟悉,我不确定这是否存在问题和/或是否存在其他方式。

这是怎么做的?

0 个答案:

没有答案