我正在尝试理解redux'connect如何工作我想知道它是否:
如果是后者,这不符合React的不可变道具的哲学吗? 它如何更新道具?
答案 0 :(得分:4)
React的不可变道具哲学意味着你不应该从组件内部更新道具。您可以将新属性值传递给父组件中的组件。这就是存在componentWillReceiveProps方法的原因。
反应组件基本上接收道具并呈现HTML。组件可以使用本地状态,但如果使用Redux,则通常不需要。 Redux管理单个状态对象中的所有状态,并使用connect方法连接'全局Redux状态的一部分到反应组件。然后它将作为该组件内的道具提供。
所以回答你的问题:答案1和2都不正确。 当使用connect将一段状态连接到你的组件时,它会将该状态作为props传递。你的组件将没有状态(除非你编写自己的本地状态),只有道具。如果redux状态的相应部分发生变化,这些道具会更新。