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

百度站长工具平台php网站开发外包

百度站长工具平台,php网站开发外包,做网站开票是多少个点的票,查看网站开通时间1. 思路对比 Vue&#xff1a;<keep-alive> 内部会缓存 vnode&#xff0c;不会销毁组件实例。React&#xff1a;默认组件卸载后状态就没了&#xff0c;需要我们自己“保留”组件实例。 2. React 实现方式 方式一&#xff1a;条件渲染 CSS 隐藏 用 display: none 隐藏&…

1. 思路对比

  • Vue:<keep-alive> 内部会缓存 vnode,不会销毁组件实例。
  • React:默认组件卸载后状态就没了,需要我们自己“保留”组件实例。

2. React 实现方式

方式一:条件渲染 + CSS 隐藏

  • display: none 隐藏,而不是 unmount。这样组件不会被销毁。
function App() {const [active, setActive] = React.useState("A");return (<div><button onClick={() => setActive("A")}>组件A</button><button onClick={() => setActive("B")}>组件B</button><div style={{ display: active === "A" ? "block" : "none" }}><ComponentA /></div><div style={{ display: active === "B" ? "block" : "none" }}><ComponentB /></div></div>);
}

✅ 优点:简单
⚠️ 缺点:所有组件始终存在内存中,可能占用资源。


方式二:状态提升(保留子组件状态)

把子组件的状态放到父组件,用 props 传递,这样即使子组件卸载了,状态也不会丢失。

function ComponentA({ value, setValue }: { value: string; setValue: (v: string) => void }) {return <input value={value} onChange={e => setValue(e.target.value)} />;
}function App() {const [active, setActive] = React.useState("A");const [aValue, setAValue] = React.useState("");const [bValue, setBValue] = React.useState("");return (<div><button onClick={() => setActive("A")}>组件A</button><button onClick={() => setActive("B")}>组件B</button>{active === "A" && <ComponentA value={aValue} setValue={setAValue} />}{active === "B" && <ComponentA value={bValue} setValue={setBValue} />}</div>);
}

✅ 优点:状态持久化,组件卸载也不丢失数据
⚠️ 缺点:需要手动管理状态


方式三:第三方库 react-activation

  • 社区有库专门实现 keep-alive 功能,最常用的是 react-activation

用法:

import { AliveScope, KeepAlive } from 'react-activation';function App() {return (<AliveScope><KeepAlive><ComponentA /></KeepAlive><KeepAlive><ComponentB /></KeepAlive></AliveScope>);
}

✅ 优点:和 Vue 的 keep-alive 几乎一致
⚠️ 缺点:引入第三方库


3. 总结

React 没有内置的 keep-alive,但我们可以通过几种方式实现类似效果:

  • 最简单的方法是条件渲染时用 display: none 隐藏而不是卸载;
  • 或者把子组件的状态提升到父组件,保证组件重挂载后状态不丢;
  • 另外,社区有成熟库 react-activation,能提供类似 Vue keep-alive 的缓存机制。
http://www.dtcms.com/a/543386.html

相关文章:

  • 杭州免费自助建站模板网站建设流程图片
  • 网站建站收费2024最火的十大新闻有哪些
  • 商城网站开发背景网易企业邮箱修改密码
  • 龙岗网站宣传册如何制作
  • 济南网站建设平台官网网站 翻页 实现
  • 做网站的软件叫81什么来着上海基础微网站开发
  • 网站规划的基本步骤网站内容的设计与实现
  • 东莞营销网站建青岛自媒体公司排名
  • 做网站外包的公司好干嘛温州网站专业制作
  • 导航网站设计奥迪汽车建设网站
  • 黄页88网是什么性质的网站网站官网建设方案
  • 软件外包什么意思百度seo关键词点击软件
  • 赤壁网站建设公司用html制作一个注册页面
  • 网站开发外包哪家好网页设计软件官网模板网站
  • 品牌营销网站建设网站中的搜索功能怎么做
  • 东莞网站优化专家做公司的网站有哪些东西
  • 如何增加网站转化率做市场调查的网站
  • 公司网站设计费计入什么科目做vi网站
  • 专业商城网站设计如何引流推广产品
  • 制作网站要不要域名游戏网站创建
  • 百度网站排名seo类似淘宝网站模板
  • apache搭建网站商丘网络营销公司
  • 台州做网站最好的广东今科网站建设
  • 聊城网站策划上海百度网络推广
  • 定制网站开发接私活中国交通建设集团有限公司网站
  • 世界电商网站排名app页面模板简单制作
  • 网站建设期末作业wordpress 标签搜索
  • 什么是网站改版企业搜索引擎优化
  • 99元一月做网站客套企业名录搜索
  • pageadmin做网站前端网页