gpt4 book ai didi

javascript - 如果对象数组中只有 1 个属性设置为状态更改,整个 DOM 是否会重新渲染?

转载 作者:行者123 更新时间:2023-12-01 01:22:19 27 4
gpt4 key购买 nike

我对 React 还很陌生。这是我的一些代码:


class App extends Component {
constructor(props) {
super(props);

const db = [
{
name: 'xyz',
checked: false
},
{
name: 'abc',
checked: false
},
{
name: 'yui',
checked: false
}];

// Set some state
this.state = {
db: db
};
}

然后我映射 this.state 以将这些项目显示到页面中。

现在,如果我更改例如 abcchecked 属性(使用 this.setState()),那么整个页面都会突出显示在 React Dev 工具中(蓝线)。是整个 DOM 被重新渲染还是只有一个属性的相应 UI 被重新渲染?

我猜测,由于存储在 App 状态中的数组正在发生变化,React 将此视为状态更改并重新渲染整个 App。真的是这样吗?

最佳答案

是的,它会再次调用您的render函数。如果您在主 App 组件中调用 this.setState(),则基本上意味着整个 App 组件将重新渲染。

关于javascript - 如果对象数组中只有 1 个属性设置为状态更改,整个 DOM 是否会重新渲染?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54122872/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com