老师,想请教关于 用户体验 和 数据可靠性的问题

来源:8-10 My(我的)模块项目介绍数据展示-1

心灵泽尘

2018-11-17

老师,请教你一个问题,比如说界面上有个收藏按钮,我需要点击并在界面上迅速显示 收藏/取消收藏 这个两种状态,但是我又需要 发送 http 请求告诉后台 我的状态。

我的方案是 前端 直接改变 state 里面的数据,而在 改变数据的同时 发送 axios 请求告诉服务器更新数据库状态,但是这样的话,每次更新 state 状态 都要发送 http 请求 很消耗服务器性能,

而如果 我在 执行 action 的时候 根据 发送的 axios 请求的返回值 成功/ 失败 来 更新 state 的状态的化,如果网络延时,则界面会有明显的卡顿。


我该怎么办呢?

1. 保障数据 的 可靠性 根据 服务器返回的 结果来更新 state 的状态,

    优点:数据实时反馈,保证数据结果安全

    缺点:界面更新 需要根据 http 请求的结果 会让用户感觉卡, 用户体验差

2. 保障用户体验,直接 更新 前端 state 中数据,从而可以迅速渲染页面,只是通过 axios 直接通知服务器更新状态。

    优点:用户体验好,界面状态迅速刷新

    缺点:1.频繁 发送请求,服务器压力大。2.不知道 服务器处理结果,数据 可靠性 无法保障


我之前的 电商 项目:

   是采用的第一种方案,但是 界面会有明显卡顿,用户体验不好


请问老师你们是如何权衡利弊,来解决这类问题的呢?

    既要用户体验好,数据可靠性安全性又能得到保障?


写回答

1回答

CrazyCodeBoy

2018-11-19

用户体验肯定是首先要考虑的,我建议哈:

现根据当前收藏状态先更新本地state,然后请求服务器改变state,等服务端数据回来之后再根据服务端的收藏状态在校验下本地state.

1
1
心灵泽尘
非常感谢!
2018-11-20
共1条回复

React Native技术精讲与高质量上线App开发

一个真实的上线项目,一次完整的开发过程,全面掌握React Native技术

1577 学习 · 727 问题

查看课程