我知道mapstatetoprops正在将我们的Redux应用程序状态映射到我们的React组件道具,但我不太明白当reducer返回一个新状态时幕后发生了什么 - 这是如何触发重新呈现具有props映射的组件的到应用程序级别状态?
在纯React中,setState触发重新渲染是否正确?通过Redux发生类似(或相同的事情)的事情吗?
Redux 和 React-Redux 都使用浅等式检查 .
Redux
React-Redux
特别是:
Redux's combineReducers 实用程序浅层检查由它调用的reducer引起的引用更改 .
Redux's combineReducers
React-Redux's connect 方法生成浅层检查对根状态的引用更改的组件,以及 return values from the mapStateToProps 函数以查看包装的组件是否实际需要重新呈现 . 这种浅层检查需要不变性才能正常运行 .
React-Redux's connect
return values from the mapStateToProps
当你使用redux“connect”函数创建一个组件时,整个过程就是你在后台连接到redux状态,并且有一个状态变化的监听器 .
因此,您创建了一个从props获取其值的简单组件,但这些道具是通过使用“mapStateToProps”连接从状态获取的 .
从来没有潜入过redux-react连接功能,但如果你想要,你肯定可以继续前进,看看它究竟做了什么 .
但重点是我上面解释的 .
2 回答
Redux
和React-Redux
都使用浅等式检查 .特别是:
Redux's combineReducers
实用程序浅层检查由它调用的reducer引起的引用更改 .React-Redux's connect
方法生成浅层检查对根状态的引用更改的组件,以及return values from the mapStateToProps
函数以查看包装的组件是否实际需要重新呈现 . 这种浅层检查需要不变性才能正常运行 .当你使用redux“connect”函数创建一个组件时,整个过程就是你在后台连接到redux状态,并且有一个状态变化的监听器 .
因此,您创建了一个从props获取其值的简单组件,但这些道具是通过使用“mapStateToProps”连接从状态获取的 .
从来没有潜入过redux-react连接功能,但如果你想要,你肯定可以继续前进,看看它究竟做了什么 .
但重点是我上面解释的 .