博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
单页面状态管理的思考
阅读量:5256 次
发布时间:2019-06-14

本文共 700 字,大约阅读时间需要 2 分钟。

问题

  1. 是否需要一个api专门管理状态?

    看到组件中很大一部分代码都是在修改状态,或者根据一些状态设置另外一个状态。这种对状态的改变,占了大部分的代码。

 

前端简单说就是 dom = fn(data)

又可以大致分为4种代码:

  1. Ajax请求

  2. 计算:根据一种数据算出另外一种数据

  3. 改变状态:初始化,根据Ajax请求结果修改,根据计算结果修改,根据其他状态修改

  4. 模版:读取状态,进行显示

stateless-api:Ajax请求和计算结合起来得到一层无状态的api层

state-api:改变状态的逻辑和无状态的api层结合起来得到有状态的api层

components: 模版和有状态的api结合得到组件层

stateless-api层的实现:与框架无关,与状态管理无关,纯js/ts实现。1. 定义功能接口 2. 定义entity类 3. 选一种ajax/websocket库,ajax/websocket请求数据

state-api层的实现: 选一种状态管理的库(redux/vuex/rxloop), 暴露一个全局state对象, 暴露所有action接口,action 接口中会调用stateless-api层,返回

components层的实现:选一种框架(iview/react/angular),引入全局state对象,从中提取当前component需要的来自其他组件的状态;引入所需的submit接口,将本组件发出的事件发出去。

 

转载于:https://www.cnblogs.com/yoyogis/p/11201343.html

你可能感兴趣的文章
awk算术运算一例:统计hdfs上某段时间内的文件大小
查看>>
h.264 Mode Decision
查看>>
面向对象进阶(反射)
查看>>
《基于B/S中小型超市进销存管理系统的研究与设计》论文笔记(十六)
查看>>
第四周学习总结
查看>>
主数据0
查看>>
HDU2001
查看>>
sql三维数据
查看>>
iOS-id类型
查看>>
ReactNative--View组件
查看>>
C#对.zip 存档读取和写入【转】
查看>>
关于僵尸进程 与 孤儿进程
查看>>
zabbix图中出现中文乱码问题
查看>>
天眼系统的计划和日程管理
查看>>
支持火狐的文本超出隐藏以省略号显示
查看>>
linux c 获取系统时间
查看>>
day 09 课后作业
查看>>
白话Redis分布式锁
查看>>
Pandas常用操作方法
查看>>
L2-002. 链表去重(模拟)
查看>>