Невозможно отобразить данные, извлеченные из атласа mongodb в редуксе, используя axios с componentDidMount - PullRequest
0 голосов
/ 17 июня 2019

У меня возникли проблемы при рендеринге извлечения документов (axios) из Mongodb Atlas.Я использовал componentDidMount для решения асинхронного времени извлечения и сохранения, но он показывает ошибку в «let listImage = this.props.cityList.map((i)...», так как «this.props.cityList.map не является функцией«

, я заменяю «let listImage = this.props.cityList.map((i)...»это "console.log('city', this.props)", оно правильно отображает все необходимые данные в консоли

Вот код:

import React, {Component} from 'react';
import { connect } from 'react-redux';
import {bindActionCreators} from 'redux';
import {getCity} from '../actions/cityRead';

class DisplayCities extends React.Component {
    componentDidMount() {
            this.props.getCity()        
    }
    cityLine() {
            //console.log('city', this.props)
            let listImage = this.props.cityList.map((i) =>{        
            return <img src={i.image} />;
            });
        return listImage;
        }     
    render() {
        return (
            <div style={{marginTop: 10}}>
                {this.cityLine()}
            </div>
        );
    }
}
const mapStateToProps = (state) => {
    return {
        cityList: state.cities
    }
}
const mapDispatchToProps = (dispatch) => { 
    return bindActionCreators({getCity: getCity}, dispatch)
}
export default connect(mapStateToProps,mapDispatchToProps)(DisplayCities)

Ожидаемые результаты показывают все изображения через "map()"Однако ошибка приходит.Любая помощь высоко ценится, спасибо

...