Javascript 更改状态是否会导致在ReactJS中重新渲染

Javascript 更改状态是否会导致在ReactJS中重新渲染,javascript,reactjs,user-interface,Javascript,Reactjs,User Interface,在我的ReactJS应用程序中,我有一个字典数组存储为一个名为items的状态,如下所示: this.state = { items: [] } items: [{"item": "milk", "price": 3.00}, {"item": "eggs", "price": 5.00}] 然后,在某些事件之后,我将项目添加到列表中,例如:单击一个按钮,这会导致th

在我的ReactJS应用程序中,我有一个字典数组存储为一个名为items的状态,如下所示:

this.state = {
   items: []
}
items: [{"item": "milk", "price": 3.00}, {"item": "eggs", "price": 5.00}]
然后,在某些事件之后,我将项目添加到列表中,例如:单击一个按钮,这会导致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></>)
this.state.items.map((item,i)=>{item.item}{item.price}

我的问题是:这是否会导致UI在每次项目状态更改时都必须重新呈现项目列表中已呈现的项目。如果是,我该如何解决


谢谢大家!

这取决于您如何设置状态,如果您使用提供的
this.setState
则“是”,react将注意到并重新呈现您的应用程序。如果您改为执行
state={/*某个新状态*/}
,则它可能不会重新呈现。我希望这能回答你的问题


请下次只检查React docs()

是,更改状态会导致重新渲染;如果状态已更改,则需要重新渲染,以便DOM是最新的!如果要使其高效,请使用键:。是否询问如何保持已渲染的子级的重新渲染?