【问题标题】:Redux and the 3rd party librariesRedux 和 3rd 方库
【发布时间】:2019-08-04 02:59:58
【问题描述】:

我们正在构建一个管理面板,我们以 ngx-admin 为基础。

我想在项目中使用@ngxs/store。 但是管理面板有 3rd 方库和组件,它们不能以 redux 方式工作。

我应该使用@ngxs/store 吗? 如何控制来自 3rd 方库的操作? 还是需要 @ngxs/store 来处理不使用 3rd 方组件的项目?

例如,它使用 ng2-smart-table。 该表有排序,过滤等。 所有这些动作都应该是一个 redux 动作,并且它们应该有适当的减速器。 但是组件已经可以使用了,对全局状态一无所知,也没有任何方法可以使用它...

所以,问题是,我应该使用 @ngxs/store,还是应该使用原生 Angular 并仅将 Redux 留给自己编写的应用程序,而不使用 3rd 方库?

【问题讨论】:

    标签: angular redux ngrx flux ngxs


    【解决方案1】:

    答案是:视情况而定。

    如果您想实施 Redux 并跟踪您需要自己为 3rd 方组件创建操作的所有内容。但请记住,对于表格,您可能不需要对所有内容都执行操作,并且只存储要显示的行数据。

    【讨论】:

    • 是的,但是如果我有一个外部身份验证组件,它只需要一个 url 和一些字段描述就可以通过?但它在后台存储和读取令牌?那么如何从商店监控登录或注销用户的状态?每次组件时我都必须询问用户是否登录等等。
    • 好吧,我不知道 ngx-admin 架构本身,但如果他们的服务没有暴露一些可供利用的钩子,你就无法改变他们的行为。另一件不同的事情是,当涉及到组件时,您通常会提供状态本身,而这确实可以通过 Redux 来完成。
    • 很遗憾,但是不支持redux架构。 ngx-admin 本身使用 nebularng2-smart-table 和其他 3rd 方组件
    • 比如nebular auth服务可以做什么?
    • 不确定你的目标是什么。主题用于委派架构选择,但似乎您正试图将架构选择强加给主题。相反,如果您只需要使用特定功能(例如用户已登录),您应该只使用提供的服务,在这种情况下为NbAuthService
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-08
    • 2017-12-14
    • 2016-01-02
    • 2014-08-23
    • 2017-02-07
    相关资源
    最近更新 更多