javascript - 更改状态是否会导致 ReactJS 中的重新渲染
问题描述
在我的 ReactJS 应用程序中,我有一个字典数组存储为称为 items 的状态,如下所示:
this.state = {
items: []
}
然后我在某些事件之后将项目添加到列表中,例如:单击一个按钮,这会导致 this.state.items 继续增长,看起来像这样:
items: [{"item": "milk", "price": 3.00}, {"item": "eggs", "price": 5.00}]
项目状态直接影响我的 UI,因为
this.state.items.map((item, i) => <><h1>{item.item}</h1><p>{item.price}</p></>)
我的问题是:这是否导致我的 UI 必须在每次项目状态更改时重新渲染项目列表中已经呈现的项目。如果是这样,我该如何解决?
谢谢!
解决方案
这取决于您如何设置状态,如果您使用提供的,this.setState
那么是的,react 会注意到并重新渲染您的应用程序。如果您改为这样做,state = { /* some new state */ }
则它可能不会重新渲染。我希望这回答了你的问题。
请下次检查 React 文档(状态和生命周期)
推荐阅读
- kubernetes - Scrapy爬虫总是停在第1000个项目
- c - 我怎么能递归地编写这个函数?
- json - json到html的转换
- python - selenium python禁用登录firefox webdriver
- html - 导航和下拉菜单
- javascript - 如何在 IE 11 中同时分配对象分配和映射功能
- python - 为什么我的 .Dockerignore 文件不忽略文件?
- c# - 网关中的 ASP.NET 核心 Jwt 身份验证
- windows - Windows 7 中启用的桌面幻灯片图像存储在哪个文件夹中?
- groovy - 关于 + 和 groovy 中的 is 运算符的问题