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

对于ui=f(state)的理解(react)

一.什么是ui=f(state) (这是一种设计模型)
好处
“UI = f(state)” 是一种强大的设计思想,
它使得用户界面的渲染更加可预测、可维护和响应性。通过将 UI 的渲染逻辑与状态管理分离,
开发者可以更高效地构建复杂的应用程序,并提供更好的用户体验。

1.state
定义:单一数据,驱动ui变换的唯一事实来源

2.f
定义:是一个函数组件
核心职责:接收当前的state以及props,然后返回一个描述用户界面的蓝图

3.ui
来源:函数f计算出的结果
本质:就是一个轻量级的js对象,即虚拟dom,描述了用户界面的样子

总结
我们应用中看到任何的用户界面都仅仅是当前应用状态,通过某个纯函数计算得到的一个结果。
他就类似于一个售货机,投入一个硬币(state),他就一定会吐出特定的饮料(ui);

react采用的是声明式ui,jq采用的是命令式ui,这也是react的优势所在
react的声明式ui,使得我们只需要关注状态的变化,而不用关注状态的更新,react会自动帮我们更新ui

声明式ui和命令式ui的区别
声明式ui我们只需要告诉他我们要达到什么效果,而命令式ui,我们需要告诉他怎么达到这个效果

二.如果组件f只是一个返回ui的描述,那么谁来操作真正的dom?(react的工作机制)
回答:
他是通过state来进行驱动的
当一个state发生变化时,react会重新调用f函数,然后得到一个新的ui描述(新的虚拟dom),
然后通过diff算法,将新的ui和旧的ui进行比较,计算出最小的更新,然后通过react-dom库,将ui渲染到真实的dom中,这个过程就是著名的
reconciliation协调过程

http://www.xdnf.cn/news/1202797.html

相关文章:

  • python毕业设计案例:基于python django的抖音数据分析与可视化系统,可视化有echarts,算法包括lstm+朴素贝叶斯算法
  • 【Datawhale夏令营】端侧Agent开发实践
  • 【Unity笔记】Unity Camera.cullingMask 使用指南:Layer 精准控制、XR 多视图与性能提升
  • [机缘参悟-236]:通过AI人工神经网络理解人的思维特征:惯性思维、路径依赖、适应性、不同场合不同言行、经验、概率、常规与特殊情形(正态分布)、环境适应性
  • 【linux】md5文件相似校验介绍与实战示例
  • 零基础学习性能测试第九章:全链路追踪-项目实操
  • 设计模式(十七)行为型:迭代器模式详解
  • react前端样式如何给元素设置高度自适应
  • debian系统分卷是不会影响系统启动速度?
  • 内存分页机制分析在海外VPS系统的测试流程
  • C语言:20250728学习(指针)
  • 如何给电脑换个ip地址?电脑换ip几种方法
  • 从零开始的云计算生活——第三十七天,跬步千里,ansible之playbook
  • linux_centos7安装jdk8_采用jdk安装包安装
  • 电脑出现英文字母开不了机怎么办 原因与修复方法
  • 【Java EE】多线程-初阶-线程的状态
  • 云原生作业(haproxy)
  • 设计模式十二:门面模式 (FaçadePattern)
  • C++11之lambda及包装器
  • java设计模式 -【责任链模式】
  • 【智慧物联网平台】编译jar环境 Linux 系统Maven 安装——仙盟创梦IDE
  • RK3568基于mpp实现硬解码(二):FFmpeg + mpp实现ipc摄像头图像解码
  • C++---初始化列表(initializer_list)
  • maven 打包报错 process terminated
  • 数据库原理
  • MCP资源管理深度实践:动态数据源集成方案
  • 终结集成乱局:模型上下文协议(MCP)如何重构AI工具生态?
  • 深入探索Linux:忙碌的车间“进程”间通信
  • 四、计算机组成原理——第6章:总线
  • 微信小程序——早餐小程序