reactjs - 有没有办法等待状态的变化?(不是设置状态)
问题描述
我想等待共享状态的变化并对其采取行动,所以:
function Foo() {
const [bar, setBar] = useContext(myContext)
const someHandler = async () => {
doSomething()
while(true) {
await stateDidChange(bar)
doSomething()
}
}
// apply someHandler to a button, etc
}
(是的,我知道我可以通过删除 while 循环并等待重新渲染来实现类似的效果 - 幽默我:))
是否有像stateDidChange(someRandomState)
上面使用的函数,或者可以通用编写?
解决方案
它被称为componentDidReceiveProps(prevProps, prevState)
或只是一个useEffect
带有您要作为依赖项跟踪的 prop/state 值的钩子:
useEffect(() => {
}, [bar]);
推荐阅读
- java - Spring boot 测试:在嵌套测试中运行脚本 (@Sql("/script.sql"))
- dart - 您使用什么小部件来返回多个 int 类型?
- python - 如何使用python在for循环中加密图像
- c# - ASP.NET Core 2.1 文件上传 DirectoryNotFoundException:找不到路径的一部分
- email - 在 GO 中使用代理后面的 SMTP / 电子邮件客户端
- java - 工具栏后退按钮和 onBackPressed 方法的区别
- node.js - Nodejs:启用流式传输时,Morgon 日志未记录完整的响应时间
- google-drive-api - 是否可以让 API 密钥访问 Google Drive 文件,但匿名用户不能访问?
- amazon-web-services - 在 aws 实例中无法访问我的 Spring Boot 应用程序
- installation - 尽管使用 ODT,但与 MS Office Pro 2016 并行安装 Visio 时出现问题