Redux: TypeError: Невозможно прочитать свойство 'prototype' из неопределенного - PullRequest
0 голосов
/ 27 января 2020

Я следую этому руководству (https://www.udemy.com/course/mern-stack-front-to-back/) и строю веб-сайт mern шаг за шагом. Все прошло хорошо, пока «Profile Reducer & Get Current Profile». Я добавил actions/profile.js и reducers/profile.js, et c. И я получил следующую ошибку:

Я думаю, что мой код такой же, как в видео. Кто-нибудь знает в чем может быть проблема?

enter image description here

редукторы / профиль. js:

import {
    GET_PROFILE,
    PROFILE_ERROR
  } from "../actions/types";

const initialState = {
  profile: null,
  profiles: [],
  repos: [],
  loading: true,
  error: {}
};

export default function(state = initialState, action) {
  const { type, payload } = action;

  switch (type) {
    case GET_PROFILE:
      return {
        ...state,
        profile: payload,
        loading: false
      };
    case PROFILE_ERROR:
      return {
        ...state,
        error: payload,
        loading: false
      };
    default: 
      return state
  }
}

действия / профиль . js

import axios from "axios";
import { setAlert } from "./alert";

import { GET_PROFILE, PROFILE_ERROR } from "./types";
import { response } from "express";

// Get current users profile
export const getCurrentProfile = () => async dispatch => {
  try {
    const res = await axios.get("/api/profile/me");

    dispatch({
      type: GET_PROFILE,
      payload: res.data
    });
  } catch (err) {
    dispatch({
      type: PROFILE_ERROR,
      payload: { msg: err.response.statusText, status: err.response.status }
    });
  }
};

Панель инструментов. js:

import React, { useEffect } from "react";
import PropTypes from "prop-types";
import { connect } from "react-redux";
import { getCurrentProfile } from "../../actions/profile";

const Dashboard = ({ getCurrentProfile, auth, profile }) => {
  useEffect(() => {
    getCurrentProfile();
  }, []);

  return <div>Dashboard</div>;
};

Dashboard.propTypes = {
  getCurrentProfile: PropTypes.func.isRequired,
  auth: PropTypes.object.isRequired,
  profile: PropTypes.object.isRequired
};

const mapStateToProps = state => ({
  auth: state.auth,
  profile: state.profile
});

export default connect(mapStateToProps, { getCurrentProfile })(Dashboard);

1 Ответ

1 голос
/ 27 января 2020

Судя по трассировке стека на вашем скриншоте, проблема, похоже, где-то связана с пакетом express.

Из фрагментов кода, которые вы отправили как часть вопроса, только файл: actions/profile.js содержит любой код относительно express. Он содержит следующий оператор import:

import { response } from "express";

Я не вижу, где вы используете response, поэтому я полагаю, что вам это не нужно - именно там вы и признали, что проблема была в комментариях после того, как вы удалили эту строку кода.

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