В настоящее время я учусь создавать приложение для покупок и работаю над функциональностью корзины нативного приложения. Я сделал отдельный компонент значка корзины покупок, который я передаю в основное приложение. Однако, когда я пытаюсь отобразить количество товаров в значке корзины с помощью атрибута длины, длина не отображается. Я новичок, и любая помощь будет оценена.
ShoppingCartIcon.js
import React, { Component } from 'react';
import { View, Text, Picker,Button } from 'react-native';
import { connect } from 'react-redux';
import Icon from 'react-native-vector-icons/FontAwesome';
import { Actions } from 'react-native-router-flux';
goToNextScreen = () => {
Actions.cartScreen();
}
const ShoppingCartIcon = (props) => (
<View style = {{position:'absolute', top:0,left:0,width: 40,height: 40,borderRadius: 40/2,paddingTop:3}}>
<View style = {{
position: 'absolute', height: 20, width: 20, borderRadius: 10, backgroundColor: 'rgba(6,21,42,0.8)', top:0, left: 5, alignItems: 'center', justifyContent: 'center', zIndex: 2000
}}>
<Text style = {{ color: 'white', fontWeight: 'bold',fontSize:10 }}>{props.cartItems.length}</Text>
</View>
<Icon onPress = {() => this.goToNextScreen()} name = "shopping-cart" style = {{fontSize:30, position:'absolute', top:0,padding:7, left:0, color:'#fe003a'}} />
</View>
)
const mapStateToProps = (state) => {
return {
cartItems: state
}
}
export default connect(mapStateToProps)(ShoppingCartIcon);
Выход:
Как вы отправляете реквизиты значку корзины? пожалуйста, уточните дальше.
@Tim console.info(реквизиты) отображает все свойства приложения. В Console.log(prop.cartItems.length) отображается неопределенное значение.
@AnusKaleem Я отправляю реквизиты значку корзины с помощью редукторов.
Я подозреваю, что в данных, которые вы отправляете через редуктор, есть некоторая ошибка. Можете ли вы поделиться отправляемыми данными? Или вы можете просто вести консольный журнал того, что приходит в «cartItmes», чтобы получить более четкое представление.





В функции mapStateToProps вы устанавливаете cartItems: state, но, возможно, вам придется сделать cartItems: state.YourReducerName.yourArrayName. Не могли бы вы опубликовать код редуктора?
Каков результат
console.info(props)?