Переменная React / Redux, возвращающая HTML в производство - PullRequest
4 голосов
/ 07 марта 2020

В настоящее время я работаю над веб-приложением 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, является переменной расписания.

Пример (просто рисуя содержимое расписания в виде текста):

Error


Вот как должна выглядеть страница

enter image description here


Переменная расписания должна содержать массив JSON объектов. Вот как выглядит console.log () в разработке. JSON example


Вкладка «Сеть» с откликом (производство): Network Tab


Response

1 Ответ

1 голос
/ 07 марта 2020

Нашел, в чем проблема, вероятно. Мы выполняем наши внутренние запросы через прокси, как определено в файле пакета. json, однако эта функция не используется в производственных средах.

Обновится с исправлением при обнаружении.

Обновление: Это была проблема. Развертывание приложения в Heroku работает отлично!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...