Мое приложение не распознает действие this.props как функцию (React - Redux) - PullRequest
0 голосов
/ 26 января 2019

Не распознайте мое действие как функцию.

Здравствуйте, я настраиваю приложение React-Redux, и я хочу централизовать все set.states моих проектов в одном уникальном хранилище. Во-первых, я пытался вызвать действия, которые дают мне данные внешнего API (В форме массива), он хорошо работал в реакции, и он работал хорошо в проекте друзей. Компилятор постоянно говорит мне, что метод вызова действия не является функцией. Спасибо

Вот проблемная функция:

 /*imports*/
 import { connect } from 'react-redux';
 import { getPokeList } from '../../actions/pokeList';



  componentDidMount = () => {
    const pokeUrl = `https://pokeapi.co/api/v2/pokemon/`;
    getPokeInfo(pokeUrl)
      .then(data => this.props.getPokeList(data.results)) <---
  }

 /* connection */
 const mapStateToProps = state => ({
  pokeList: state.pokeList.elements,
 });

export default connect(mapStateToProps, { getPokeList })(List);

Вот мой метод действия:

const GET_LIST = 'GET_LIST';
export default {
GET_LIST,
}
export const getPokeList = list => ({ type: GET_LIST, list });

А вот мой редуктор:

import pokeList from '../../actions/pokeList'

const initialState = {
  list: [],
 };

const reducer = (state = initialState, action) => {
  if (action.type !== null) {
    switch (action.type) {
      case pokeList.GET_LIST:
        return { ...state, list: action.list };
      default:
        return state;
    }
  }
  return state;
};

export default reducer;

На данный момент я не использую данные результатов в любой части моего кода. Спасибо и извините за мой английский!

1 Ответ

0 голосов
/ 26 января 2019

В App.jsx вам нужно изменить импорт ссылок на:

import List from '../../components/List/List';

После этого будут достигнуты ваши редукторы и т. Д. Я сделал это далеко после того, как записал ваш код. Я не был уверен, чего вы пытались достичь после этого, поэтому я оставил это на этом.

В конечном счете, проблема, с которой вы столкнулись, заключается в том, что в вашем компоненте Link есть «экспорт по умолчанию».

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