В настоящее время я работаю над веб-приложением React, и когда я создаю и обслуживаю приложение, переменная, которую я использую для хранения расписания, вместо этого заполняется страницей HTML?
Приложение отлично работает в разработке, но есть проблемы в работе.
Переменная извлекается с помощью действия Redux, когда она запрашивает мою базу данных.
Компонент:
import React, { Component, useEffect, useState, Fragment } from 'react';
import Game from './Game';
//Redux
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
import { getSchedule } from '../actions/schedule';
const Schedule = ({ scheduleObj:{schedule, loading}, getSchedule }) => {
useEffect(() => {
getSchedule('all');
}, [loading]);
const [type, setType] = useState(0);
const onChange = e => {
getSchedule(e.target.value);
};
if (loading) {
return <div>Schedule Loading</div>;
} else {
return (
<Fragment>
<p>Schedule</p>
<select id='schedule' onChange={e => onChange(e)}>
<option value='all'>All Sports</option>
<option value='fav'>Favourite Sports</option>
<option value='mbasketball'>Axemen Basketball</option>
<option value='mfootball'>Axemen Football</option>
<option value='mhockey'>Axemen Hockey</option>
<option value='msoccer'>Axemen Soccer</option>
<option value='mswimming'>Axemen Swimming</option>
<option value='wbasketball'>Axewomen Basketball</option>
<option value='wcrosscountry'>Axewomen Cross Country</option>
<option value='wrugby'>Axewomen Rugby</option>
<option value='wsoccer'>Axewomen Soccer</option>
<option value='wswimming'>Axewomen Swimming</option>
<option value='wvolleyball'>Axewomen Volleyball</option>
</select>
{schedule}
</Fragment>
/*
(schedule.length <1000) ? (schedule.map(game => (
<Game key={game._id} gameID={game._id}/>
))) : 'Empty Schedule'
*/
);
}
};
Schedule.propTypes = {
getSchedule: PropTypes.func.isRequired,
scheduleObj: PropTypes.object.isRequired,
loading: PropTypes.bool
};
const mapStateToProps = state => ({
scheduleObj: state.schedule,
loading: state.loading
});
export default connect(mapStateToProps, { getSchedule })(Schedule);
Переменная, которая заполняется HTML, является переменной расписания.
Пример (просто рисуя содержимое расписания в виде текста):
Вот как должна выглядеть страница
Переменная расписания должна содержать массив JSON объектов. Вот как выглядит console.log () в разработке.
Вкладка «Сеть» с откликом (производство):