gpt4 book ai didi

javascript - 如果 React 组件的 props 更新但值没有改变,它会重新渲染吗?

转载 作者:行者123 更新时间:2023-11-30 08:21:55 26 4
gpt4 key购买 nike

假设我们有一个如下所示的 redux 存储:

{
"page1": {
"title": "Demo",
"content": "Testing"
},
"page2": {
"title": "Demo",
"content": "Yes, I'm aware the titles match."
}
}

现在让我们看一下呈现标题的组件:

const Title = ({title}) => <h1>{title}</h1>

const mapStateToProps = state => ({
title: getCurrentPage().title
})

export default connect(mapStateToProps)(Title)

在上面的 block 中,getCurrentPage() 是一个内存函数(通过重新选择),它根据某些条件(在本例中,它是 react-router 的 location.pathname)从状态中导出当前页面数据。

当 getCurrentPage() 返回的数据不同时,即使 {title} 的特定值保持不变,此组件是否会重新呈现?

如果是,内存派生的 title prop 是否会将答案更改为否?

最佳答案

好的,我花时间测试了我自己的问题,因为我收到的第一个答案说它会重新呈现。我将 console.log('render') 插入到 Title 组件中,然后在两个单独的页面之间导航,每个页面共享相同的确切标题。结果……(鼓声)

。该组件没有重新呈现。

关于javascript - 如果 React 组件的 props 更新但值没有改变,它会重新渲染吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52104987/

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