繁体   English   中英

将Redux-router与Polymer 3应用程序一起使用

[英]Use Redux-router with polymer 3 app

聚合物应用程序正在使用redux存储应用程序的状态。 想法是也将所有路由都存储在状态中(请参见下图)。 我想为此使用redux-router,但是当我尝试将库导入到我的应用程序时,开始就已经遇到了问题。

在此处输入图片说明

我导入的代码如下所示:

import { createStore, compose as origCompose, applyMiddleware, combineReducers } from 'redux';
import thunk from 'redux-thunk';
import { lazyReducerEnhancer } from 'pwa-helpers/lazy-reducer-enhancer';
import {ReduxRouter} from '../node_modules/redux-router/src/ReduxRouter.js'



import app from './reducers/app.js';
import route from './reducers/route.js';
import user from './reducers/user.js';
import events from './reducers/events.js';

我收到此导入的错误是:

意外令牌=

如果我尝试这样导入:

import {ReduxRouter} from 'redux-router';

我得到:

未捕获到的SyntaxError:所请求的模块'../../node_modules/redux-router/lib/index.js'不提供名为'ReduxRouter'的导出

而如果:

import {ReduxRouter} from '../node_modules/redux-router/src'

然后:

未捕获到的SyntaxError:意外的令牌导出

该问题可以在启动剂聚合物3应用程序中重现。 或者,我认为,在任何聚合物应用中。

所以:

  1. 什么是正确的进口方式?
  2. 如果我只需要在状态中存储所有路由和历史记录,就可以在聚合物应用程序中使用redux-router(不做任何反应)吗?
  3. 我还有什么其他选择。 你知道有什么好的图书馆吗?

1.)尝试:

    import 'redux-router';

如果npm软件包具有默认导出,则应允许您在组件中引用它。 如果没有,请尝试在index.html的末尾将其导入,例如:

    <script src="node_modules/redux-router/dist/ReduxRouter.js"></script>
    ...
    </body>

注意: / dist /不是/ src /

仅供参考,请确保您以分号结束导入声明。 你写了:

    import { lazyReducerEnhancer } from 'pwa-helpers/lazy-reducer-enhancer';
    import {ReduxRouter} from '../node_modules/redux-router/src/ReduxRouter.js'

您的最后一行需要用分号(可能是错字)。

2.)是的,有可能。

3.)查看pwa-starter-kit-专门研究Polymer组如何包含Redux和pwa-helpers / router.js进行路由...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM