compositionLocalOf 与 staticCompositionLocalOf 的简单理解与使用

1 创建

ini 复制代码
var UserNameLocal = compositionLocalOf {  "" }

var passwordLocal = staticCompositionLocalOf { "" }

2 使用

csharp 复制代码
var userName by mutableStateOf("")
var password by mutableStateOf("")
scss 复制代码
 CompositionLocalProvider(
       UserNameLocal provides userName,
       PasswordLocal provides password
 ) {}

那么在CompositionLocalProvider的子节点中就可以通过

复制代码
PasswordLocal.current
UserNameLocal.current

来访问设置的数据。

当修改userName 跟 password的数据也会触发刷新。

3 compositionLocalOf 与 staticCompositionLocalOf 的不一样的地方是:compositionLocalOf数据发生改变的时候只重组调用他的地方。staticCompositionLocalOf是直接全量重组。(未验证)

4 个人理解:

如果只是上面的功能的话,我直接全局定义一个状态变量,也可以访问到对应的数据,改变数据的时候也会触发重组。那compositionLocalOf的优点是什么呢?

优点:限制了访问范围,只有在CompositionLocalProvider的子节点中可以访问到。

相关推荐
川石课堂软件测试1 小时前
Android和iOS APP平台测试的区别
android·数据库·ios·oracle·单元测试·测试用例·cocoa
花卷HJ1 小时前
Android 通用 BaseDialog 实现:支持 ViewBinding + 全屏布局 + 加载弹窗
android
生产队队长2 小时前
Linux:awk进行行列转换操作
android·linux·运维
叶羽西2 小时前
Android15 EVS HAL中使用Camera HAL Provider接口
android
2501_915918412 小时前
除了 Perfdog,如何在 Windows 环境中完成 iOS App 的性能测试工作
android·ios·小程序·https·uni-app·iphone·webview
泓博2 小时前
Android状态栏文字图标设置失效
android·composer
叶羽西3 小时前
Android15系统中(娱乐框架和车机框架)中对摄像头的朝向是怎么定义的
android
Java小白中的菜鸟3 小时前
安卓studio链接夜神模拟器的一些问题
android
莫比乌斯环3 小时前
【Android技能点】深入解析 Android 中 Handler、Looper 和 Message 的关系及全局监听方案
android·消息队列
编程之路从0到13 小时前
React Native新架构之Android端初始化源码分析
android·react native·源码阅读