javascript - 重新渲染组件时为什么不重置状态?
问题描述
假设我在功能组件中有以下内容:
const [addComment, setAddComment] = useState(false);
我不明白这个......在重新渲染之前,addComment 的状态已更改为 True 而不是 False,组件的重新渲染不会再次将其更改为 False。我认为一切都在功能组件中重新运行,因此将再次调用 useState(false),并将 addComment 重置为 False。
谢谢
解决方案
这就是 useState 的设计方式:传递给 useState 的值决定了状态的初始值。因此,在第一次之后的每次渲染中,您传入的值都会被忽略。
推荐阅读
- angular - 托管角度并且能够在所有PC上查看
- python - 我程序中的第二个线程没有被执行
- typeerror - 类型不匹配 - 沙盒的第一个参数不是我所期望的
- r - 如何在 R 中删除函数本地环境中的变量子集?
- php - 如何从 php 函数重定向到由 ajax 触发的 set、cookie?
- sql - 编写 Google Apps 脚本以在 BigQuery“查询执行期间超出资源”时引发错误
- powershell - Invoke-DbaQuery -SqlCredential 以交互方式工作,但从 Web 应用程序调用时不能
- python - 尝试规范化训练数据时取回一个元组
- c# - 使用 iSharpText 从 PDF 中删除链接并非所有链接都已删除
- jupyter-notebook - 使用 nbsphinx 将 Jupyter Notebook 转换为 Sphinx Doc 时如何隐藏代码单元格