通過在JSX道具中使用.bind或使用Arrow函數。 JSX道具中的bind函數或 箭頭函數將在每個 單個渲染器上創建一個全新的函數。Redud mapDispatchToProps會在每次狀態更新時創建新的函數嗎?
這是否意味着下面的例子將創建每次組件重新渲染的() => props.pressCard(card)
cardList.length
新功能呢?
const cards = cardList.map(card =>
<TouchableOpacity key={card.id} onPress={() => props.pressCard(card)}>
<Card {...card} />
</TouchableOpacity>
);
如果是這樣的話,Redux的mapDispatchToProps
怎麼樣?例如,
const mapDispatchToProps = (dispatch) => ({
pressCard: (card) => dispatch(homeActions.pressCard(card))
});
是否也創造了新的功能組件更新時的狀態?
第一個definetly創造了新的功能,每一個渲染。第二個 - 我沒有看到在狀態改變時運行mapDispatchToProps的理由,因爲你無法從那裏訪問狀態。不知道REDX如何處理這個。 –