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