首页 文章

如何在reducer中更新状态会触发重新呈现组件?

提问于
浏览
0

我知道mapstatetoprops正在将我们的Redux应用程序状态映射到我们的React组件道具,但我不太明白当reducer返回一个新状态时幕后发生了什么 - 这是如何触发重新呈现具有props映射的组件的到应用程序级别状态?

在纯React中,setState触发重新渲染是否正确?通过Redux发生类似(或相同的事情)的事情吗?

2 回答

  • 0

    ReduxReact-Redux 都使用浅等式检查 .

    特别是:

    Redux's combineReducers 实用程序浅层检查由它调用的reducer引起的引用更改 .

    React-Redux's connect 方法生成浅层检查对根状态的引用更改的组件,以及 return values from the mapStateToProps 函数以查看包装的组件是否实际需要重新呈现 . 这种浅层检查需要不变性才能正常运行 .

  • 1

    当你使用redux“connect”函数创建一个组件时,整个过程就是你在后台连接到redux状态,并且有一个状态变化的监听器 .

    因此,您创建了一个从props获取其值的简单组件,但这些道具是通过使用“mapStateToProps”连接从状态获取的 .

    从来没有潜入过redux-react连接功能,但如果你想要,你肯定可以继续前进,看看它究竟做了什么 .

    但重点是我上面解释的 .

相关问题