使用mapStateToProps时未定义props



在我的应用程序中,我使用mapStateToPros,如下所示:

const mapStateToProps = (state:any) => {
return {
cardsAndBalance: state.cardsAndBalanceReducer
}
}

在调试中,当我停在return时,我可以看到我有一些数据处于状态。

当我在useEffect函数中停止应用程序并检查props时,props的值为undefined

useEffect(() => {
console.log('useEffect')

let cardNumbers: number[] = []
const myCards = props.cardsAndBalance.cards;
if(myCards)
myCards.forEach((card: Card) => cardNumbers.push(card.number))
generatePaymentCodeForTavim(cardNumbers = [])
.then((res:any) => {
setBarCode(res.barCode);
})
.catch( (err:any) => {
console.log("error: " + err)
ToastAndroid.show("Error Occurrd - check logs", ToastAndroid.SHORT);
})
}, [])

这就是我将组件连接到商店的方式:

export default connect(mapStateToProps)(PayWithTavimStep1);

这就是整个组成部分:

const PayWithTavimStep1 = ({navigation}:{navigation:any}, props: any) => {

const [barCode, setBarCode] = useState('')

useEffect(() => {

console.log('useEffect')
//.......
}, [])

return (

<View style={styles.container}>
// Some views
</View>
)
}
export default connect(mapStateToProps)(PayWithTavimStep1

当我在useEffect中停止执行时,为什么道具是未定义的?

问题是我向组件传递了两个参数:({navigation}:{navigation:any}, props: any)。当它应该是(props: any)时,现在在我的道具中,我仍然可以访问导航。

相关内容

  • 没有找到相关文章

最新更新