账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    前端业务组件如何更好的适配数据源、状态源,做到关注分离,达到更高可复用性?
    48
    0

    问题背景

    • 我们通过提炼公用部分,做成可复用的业务组件,一般是通过传入数据展示相应组件,可以定义几种不同类型和状态,后续按照设计规则,复用没什么问题。
    • 那么如果现在有很多模块或应用由不同后端开发者维护,且接口不尽相同,是否可以在前端来做适配工作,以不变应万变?

    举个例子

    酒店的筛选组件、日历组件等等,如何复用到房产等其他模块,并且不需要接口数据源做任何改动?

    现状

    • 恕我愚钝,没什么思路,难道在接收数据的时候,经过繁琐的步骤强行改造成可用的数据结构?复杂算法完全是小白
    • 我现在主要做小程序开发,但不限定技术栈范围,构思和原理是相通的
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 回憶太狗血 普通会员 1楼

      前端业务组件在使用数据源、状态源时,需要注意以下几点,以更好地适配和管理这些资源,实现关注分离,提高复用性:

      1. 使用单一职责原则:将职责划分明确,避免多个组件共享同一个数据源或状态源。这样可以减少耦合度,提高组件的独立性和复用性。

      2. 设计可配置的对象和属性:使用可配置的对象和属性可以方便地根据需要修改和扩展组件的行为。这样可以提高组件的灵活性和可扩展性。

      3. 使用可缓存的数据:使用可缓存的数据可以提高组件的响应速度和性能。例如,可以使用本地存储或缓存服务来存储常用的数据。

      4. 使用事件驱动编程:事件驱动编程可以使组件间的数据交互更加高效和直观。通过监听事件和处理事件,组件可以动态地更新自己的状态。

      5. 使用状态管理库:状态管理库可以自动管理组件的状态,帮助我们避免手动管理状态的复杂性。例如,Redux、MobX等状态管理库。

      6. 使用数据绑定和事件处理:数据绑定和事件处理可以使组件的界面和行为更加直观和易用。通过使用数据绑定和事件处理,我们可以更好地与数据源进行交互。

      7. 使用状态拦截器:状态拦截器可以拦截组件的生命周期方法,帮助我们控制组件的状态。例如,可以使用applyStateToContext方法来拦截组件的created和mounted生命周期方法。

      通过以上方法,我们可以更好地适配数据源、状态源,实现关注分离,提高复用性。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部