React native, undefined не является объектом (оценка ….)

#javascript #reactjs #react-native

#javascript #reactjs #react-native

Вопрос:

Я создаю корзину покупок в react native с помощью redux, но я получаю сообщение об ошибке

undefined is not an object (evaluating 'this.props.items.length')

Я следую руководству по react redux, кто-то предлагает мне следовать этому руководству, чтобы создать корзину, но я получаю эту ошибку

может кто-нибудь, пожалуйста, скажите мне, что происходит .., ниже мой код

 class Cart extends Component {
  render() {
    let addedItems = this.props.items.length ? (
      <FlatList
        data={this.props.items}
        key={(items) => items.id.toString()}
        numColumns={2}
        renderItem={({ item }) => (
          <View>
            <Image style={styles.image} source={item.image} />
            <View style={styles.detailContainer}>
              <Text style={styles.title}>{item.title}</Text>
              <Text style={styles.subTitle} numberOfLines={1}>
                Quantity: {item.quantity}
              </Text>
              <Text style={styles.price}>Rs {item.price}</Text>
            </View>
            <TouchableOpacity>
              <View style={styles.buy}>
                <Text>Remove</Text>
              </View>
            </TouchableOpacity>
          </View>
        )}
      />
    ) : (
      <Text>Nothing</Text>
    );

    return (
      <View>
        <View>
          <Text>You Have Ordered:</Text>
        </View>
        <View>{addedItems}</View>
      </View>
    );
  }
}

const mapStateToProps = (state) => {
  return {
    items: state.addedItems,
  };
};

  

Комментарии:

1. Как вы экспортируете свой Cart компонент? Я имею в виду, правильно ли вы подключаете его к Redux?

2. Вы пытаетесь получить доступ к элементам массива prop, который не определен в вашем представлении

3. да, я подключил его, @SamuliHakoniemi

4. Как я могу это определить? можете ли вы предложить какой-нибудь учебник по react native или хороший учебник по этому поводу? @NooruddinLakhani

Ответ №1:

попробуйте так

 let addedItems = this.props.items amp;amp; this.props.items.length ? (