gpt4 book ai didi

javascript - 重新选择总是重新渲染

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:31:29 26 4
gpt4 key购买 nike

我正在尝试将重新选择添加到我的 react 代码中,但它似乎总是在重新渲染。

每次我改变我的状态时,即使输入选择器没有改变,控制台也会打印“testing”。我创建了一个简单的测试来向你们展示发生了什么。

import { connect } from 'react-redux'
import { createSelector } from 'reselect'

window.testObject = {'x': '5'}
const mapStateToProps = (state, props) => {

const test = state => {return window.testObject}
const getTest = createSelector(test, (t)=> console.log('testing'))

return {
test: getTest(state),
}
}


export default const TestContainer = connect(
mapStateToProps,
)(TestBase)

我做错了什么??我一直在重新阅读文档,据我所知,console.log 不应在第一次运行后运行,因为输入选择器没有改变。我的理解正确吗?

最佳答案

每次重新呈现时您都在调用 createSelector

createSelector 移到 mapStateToProps 之外

const getTest = createSelector(...)

const mapStateToProps = (state, props) => ({
test: getTest(state),
})

export default const TestContainer = connect(
mapStateToProps,
)(TestBase)

关于javascript - 重新选择总是重新渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37355280/

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