问题标签 [optimistic-ui]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
49 浏览

react-native - 失去理智 - 为什么我的 fetch 不重新渲染(redux)

在我的项目中,我有很多用户和很多资源(以及很多 user_resources/用户和资源之间的连接)。当我 POST 到 user_resources 时,我看到它在我的 rails 后端工作(就像我看到发布的那个实例一样),但在我的反应中前端我没有看到它在更新时列出。但是,一旦应用程序完全刷新(当我停止并重新启动 expo 服务器时),我终于看到了这些项目。有任何想法吗?我一直在努力解决这个问题,但无济于事,我的项目是由于 tmrw,所以任何帮助表示赞赏。

我发布到 user_resources 的屏幕:

在此之后,我前往应该显示 user_resources 但不显示的个人资料页面

我之前有一个平面列表,但认为这可能会导致问题,所以以另一种方式呈现,仍然没有运气。我也尝试了 forceUpdates ,仍然没有运气。我不确定问题是否来自我的减速器:

这是行动

请帮我在这里找到问题,我正在丢失它。

0 投票
1 回答
39 浏览

reactjs - 显示新内容前的加载状态

我正在尝试使用 react 和 redux 实现乐观的 UI 加载。这是我的减速机:

这是动作创建者:

理想的情况是:Loading --> New state我只在第一次加载时得到这个,之后是:Flash of old state --> Loading --> New state

0 投票
1 回答
179 浏览

javascript - 在 Apollo v3 React 客户端 fe-retching 不同查询的情况下如何实现乐观 UI

我正在尝试为类似功能实现 Optimistic UI,但我无法处理它,因为我必须重新获取专用查询以更新文章。让我通过代码示例更好地解释一下:这是我的文章文档。

文章 GraphQl 架构

我想改变liked属性,我有一个突变来做到这一点:

获取文章文档我有这个查询:

在我的 UI 中,我只是根据getQuery提供的数据呈现文章文档。另外,我有Like按钮,当用户按下它时,likeArticle突变会执行,我必须重新获取getArticle查询以更新 UI。这就是问题所在,我只想添加乐观的 UI 以不等待长时间的服务器响应,但它根本不起作用。可能是因为重新获取 getArticle查询,但我不确定

执行likeArticle突变的例子

我将不胜感激任何帮助/信息

0 投票
1 回答
289 浏览

redux - 复杂的乐观更新:如何处理不仅仅是二进制元素

我想构建一个乐观的 ui,我可以在其中执行所有 CRUD 操作。例如,用户可以在其中添加、更新和删除待办事项的待办事项应用程序。

但是,我找不到任何讨论不仅仅是添加项目的资源。例如:

如果服务器响应有两个以上的状态(例如成功、失败),其他文章甚至建议不要使用乐观更新。

有人可以指出我处理以下一些事情的任何文档、教程或论文吗?或者一个已经成功实施的网站?

排队请求时遇到的一些问题:

  1. 回滚
  • 用户添加待办事项 1
  • POST 请求 1 已发送
  • 用户做了很多改变
  • 以下http请求排队等待第一个完成
  • 请求 1 失败
  • 我们回滚到原来的状态

用户丢失了所有更改

  1. 浪费的带宽
  • 用户添加待办事项 1
  • POST 请求 1 已发送
  • 用户添加待办事项 2
  • POST 请求 2 已排队
  • 用户删除待办事项 2
  • DELETE 请求 3 已排队
  • POST 请求 1 完成
  • 发出 POST 请求 2
  • 发出删除请求 3

我们不必发送请求 2 和 3

除了对请求进行排队,我还可以对请求进行去抖动并将事务日志或仅当前状态发送到后端。然后后端可以计算出所需的最少数据库更新。

也许已经有一些这些不同的算法?

0 投票
0 回答
30 浏览

caching - React-Admin 和最终的一致性。如何显示最新更改?

我们有一个事件源后端,我们正在使用 React-Admin 创建一个门户。我们已经实现了自己的dataProvider并且运行良好。

然而,由于后端是事件源的,我们处于一个最终一致的世界。因此,在创建资源后,我们在列表中看不到它,因为当 React-Admin 调用我们的dataProvidergetList时,用于响应的视图尚未更新。

当然,我们可以createdataProvider之后维护和更新列表,但这会导致系统更加复杂。而且 React-Admin 可能有一些我们还不知道的解决方案。我们正在考虑使用应用程序缓存,但我们不知道如何直接使用它。

有人已经遇到过类似的问题吗?你如何解决它?

0 投票
0 回答
23 浏览

node.js - 反应 - 来自后端的初始状态 - 乐观的 UI

我当前的节点/反应应用程序工作正常,但它有审美问题,改变状态需要太长时间。非常简单的例子:绿色按钮只有绿色,因为它从后端获取信息。当我单击按钮时,它会等待后端的响应,以便再次变为红色。

我希望这些按钮立即改变颜色,而无需等待后端。但是,仍然将数据发送到后端。

获取请求:

按钮:

签到功能:

如果您有任何问题,请随时提问!

提前感谢您的努力。