- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的用户界面中,我有一个圆形进度条,进度每秒更新一次。该 UI 中的其他文本保持不变(静态)。我只想更新进度条,而不是重新组合整个屏幕。我怎样才能做到这一点?
最佳答案
您需要将屏幕拆分为不同的可组合项,以便在状态值发生变化时,所有依赖于该状态的 View 都被分组到一个可组合项中。
以这段代码为例:
@Composable
fun TestScreen(
) {
var progress by remember { mutableStateOf(0f) }
var otherStateValue by remember { mutableStateOf("") }
Box {
SomeTextView(otherStateValue)
ProgressView(progress)
}
}
@Composable
fun SomeTextView(text: String) {
}
@Composable
fun ProgressView(progress: Float) {
}
如果任何 progress
和 text
值发生变化,TestScreen
将被重新组合。但是如果 text
自上次重组后没有改变,SomeTextView
将被缓存并且不会被重组。
参见 compose mental model有关重组工作原理的更多详细信息。
此外,如果您明智地构建 View ,不直接在代码中使用任何副作用(查看副作用 documentation 了解更多详细信息)并使用 remember
/view model 缓存计算结果/etc(检查 compose 中的状态 documentation ),然后重组将是一个非常轻的操作。
关于android - 在不调用 recompose 的情况下,如何更新 jetpack 中的特定 ui 组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69438287/
我想用 recompose.pure 和其他 hoc 组合(重构)一个 React 组件。 我应该按什么顺序执行此操作? compose(pure, anOtherHoc)(MyComp); comp
我有以下完全可以工作的代码,尽管其中一部分 (_FetchJSON) 是重构之外的自定义 HOC (现场演示@ https://codepen.io/dakom/pen/zdpPWV?editors=
我有一个 React 应用程序,它也使用 Recompose和Redux . 它们都有一个内容非常相似的 compose 函数: Compose from Redux Compose from Rec
我最近开始将 React 与 TypeScript 结合起来。我在使用 Recompose 生命周期方法时遇到问题。在 componentDidMount 中,我收到错误消息“类型‘{}’上不存在属性
我正在查看@acdlite 编写的重组库中的compose 函数来为高阶组件组合边界条件,这就是 compose 函数的样子 const compose = (...funcs) => funcs.r
我喜欢 recompose,但是当我使用它时,我最终得到的堆栈跟踪有如下几行: in withProps(withHandlers(withHandlers(SelectionOverlay))) (
我有一个功能组件,需要渲染 height 和 width Prop 。我们称它为 PureSizableDiv: const PureSizableDiv = ({ height, width })
我在测试一个 prop 在我的 HOC 上被触发时遇到了一些麻烦。 import { connect } from 'react-redux'; import { compose, lifecycle
提前为模糊的标题道歉,很难解决我的问题。 我正在尝试同时使用 React、Recompose 和 Typescript,但是在尝试将 props 传递到我的组件时出现以下错误: [ts] Proper
我在我的 React 项目中使用 recompose https://github.com/acdlite/recompose/ 这是一个很棒的图书馆。我使用 compose 实用程序作为容器组件,将
我正在使用 create-react-app 和 typescript 脚本作为基础,试图获得一个使用 recompose 的简单示例。 问题是我无法将属性直接发送到组件。 我创建了一个简单的用户组件
我开始注意到我的应用程序出现了一些卡顿,我相信原因是可组合项在不应该被重新组合时被重新组合。 我检测到一些触发不必要的重新组合的用户交互,但我无法将手指放在导致重新组合的原因上。我在修改状态的每个地方
获得工作应用程序:https://github.com/BeerDRinker/recompose-ref 以下代码(/src/App.js 中的注释部分)按预期工作: class App exten
我正在编写这个产品列表组件,但我正在与状态作斗争。列表中的每个产品本身就是一个组件。一切都按预期渲染,除了当 prop 更改时组件不会更新。我正在使用 recompose 的 withPropsOnC
我查看的所有示例中,withHandlers 中实际调用的函数似乎是从 props 调用的函数,但我不知道该函数是如何定义的。这是 docs for humans 中的一个小例子. compose(
我正在尝试向 React Native 中的功能组件添加引用,以便在 FlatList 组件上使用scrollToEnd。 我想为此使用 recompose,正如他们的文档所述, toClass()
如何编写可以设置 this.state.status 的组件特定常量 STATUS?我认为问题在于 this 上下文。如果 this.STATUS 被硬编码在字符串中,它就可以工作。 import {
最近开始使用重构 ( https://github.com/acdlite/recompose ) 我想知道我应该如何处理用一些 hocs recompose 提供的单元测试组件?我喜欢用函数式方法替
我目前正在尝试将重组纳入我的 React 代码库。因此,我试图让一些基本的东西工作,并且我让它工作了,但我不太确定,如果这是重构的正确工作方式。 所以我有以下代码: interface Value {
为什么所有 Recompose 配方都以 const { Component } = React; 开头,而它们不使用 Component,或者确实如此? 这样开始食谱有什么意义? https://g
我是一名优秀的程序员,十分优秀!