当前位置: 首页 > news >正文

建购物的网站需要多少钱市场调研表模板

建购物的网站需要多少钱,市场调研表模板,crm管理系统都有哪些,凡科互动平台用法 乐观更新 发起异步请求时,先假设请求会成功立即更新 UI 给用户反馈若请求最终失败,再将 UI 恢复到之前的状态 const [optimisticState, addOptimistic] useOptimistic(state, updateFn) 参数 state:实际值,可以是 useSta…

用法


乐观更新

  • 发起异步请求时,先假设请求会成功
  • 立即更新 UI 给用户反馈
  • 若请求最终失败,再将 UI 恢复到之前的状态

const [optimisticState, addOptimistic] = useOptimistic(state, updateFn)

参数
state:实际值,可以是 useStateuseReduceruseContextprops
updateFn:纯函数

  • currentState
  • optimisticValue

返回值
optimisticState:乐观值

  • 正常情况下:和 state 实际值一致
  • 调用 addOptimistic 后,是 updateFn 的返回值

addOptimistic:调用updateFn,接收任意类型的 optimisticValue


注意点

  1. 要在 form ActionstartTransition 里面调用 addOptimistic
  2. 异步操作结束(无论成功还是失败),乐观值都会自动恢复成 state
    异步操作成功,需要手动 setState 更新实际值,从而更新 useOptimisticstate
    异步操作失败,不用管

测试代码

import React, { useState, useOptimistic, startTransition } from "react";// 模拟异步点赞请求,考虑请求失败的情况
const asyncLikePost = (postId) => {return new Promise((resolve, reject) => {setTimeout(() => {// 模拟 50% 的失败概率if (Math.random() < 0.5) {reject(new Error("点赞失败"));} else {resolve();}}, 3000);});
};const Post = ({ post }) => {const [likes, setLikes] = useState(post.likes);const [optimisticLikes, addOptimisticLikes] = useOptimistic(likes,(currentLikes, optimisticValue) => currentLikes + 1);const [error, setError] = useState(null);const handleLike = function handleLike() {startTransition(async () => {addOptimisticLikes();try {await asyncLikePost(post.id);setLikes((prevLikes) => prevLikes + 1);setError(null);} catch (error) {setError(error.message);}});};return (<div><p>{post.title}</p><p>实际点赞数: {likes}</p><p>乐观点赞数: {optimisticLikes}</p>{error && <p style={{ color: "red" }}>{error}</p>}<button onClick={handleLike}>点赞</button></div>);
};const PostList = () => {const posts = [{ id: 1, title: "帖子1", likes: 10 },{ id: 2, title: "帖子2", likes: 20 },];return (<div>{posts.map((post) => (<Post key={post.id} post={post} />))}</div>);
};export default function App() {return (<div><h1>帖子列表</h1><PostList /></div>);
}
http://www.cadmedia.cn/news/2279.html

相关文章:

  • asp做网站教程企业网站建设的步骤
  • 重庆市住房城乡建设委员会网站引擎网站
  • 赤峰企业网站建设国外seo工具
  • 重庆红旗河沟网站建设seo计费系统源码
  • 建站市场湖南网站网络推广哪家奿
  • 濮阳微信网站建设我想做网络推广
  • 扬中门户seo网站关键词快速排名
  • 网站建设路由设置营销类网站
  • 犀牛云网站建设怎么注册自己公司的网址
  • 做网站时无法上传图片网络推广工具
  • 北京企业官网建设seo全网优化指南
  • 宁波做网站的哪个好优化设计答案大全英语
  • 重庆航运建设发展有限公司 网站2022百度收录越来越难了
  • 营销型网站建设的选择方式怎样做网络推广营销
  • 手机怎么设计平面图片seo专员是干嘛的
  • 如何建设教师网上授课网站汕头网站建设平台
  • 微信小程序云开发收费标准seo站长优化工具
  • 网站认证方式有几种福州短视频seo平台
  • 网站建设日程表及负责人新野seo公司
  • 怎么用dw英文版做网站软文营销名词解释
  • 导购网站怎么推广互联网营销的方法
  • 珠海市住房和城乡建设局网站优就业seo课程学多久
  • 长沙网站排名技术重庆seo整站优化效果
  • 无锡专业网站建设公司郑志平爱站网创始人
  • 武汉营销型网站建设公司哪家专业有人百度看片吗
  • 四川省二级建造师报名入口官网上海网站建设seo
  • 软件网站开发公司成都网站seo推广
  • 建站优化推广开车搜索关键词
  • 做网站难么四川seo整站优化费用
  • 网站建设与营销社团培训机构退费纠纷一般怎么解决