Задать вопрос
@depstor

Почему при записи в state выдает ошибку?

action
export const fetchQuote = url => {
    return dispatch => {
        fetch(url)
            .then(res => res.json())
            .then(res => dispatch({ type: 'quote', data: res }))
    }
}


reducer
const initialState = {
    company: [],
    quote: []
}

export const getChares = (state = initialState, action) => {
    switch (action.type) {
        case 'company':
            console.log('company', action.data)
            return {
                ...state,
                company: action.data
            }
        case 'quote':
            console.log('quote', action.data)
            return {
                ...state,
                quote: action.data
            }
        default:
            return state
    }
}


component
import React, { Component } from 'react';
import { connect } from 'react-redux';
import { fetchQuote } from '../../Redux/actions/actions';
import { __apiKey, __apiRealTime } from '../../__apis/__apis';

class RealTimeQuote extends Component {

    componentDidMount() {
        this.props.fetchQuote(__apiRealTime + __apiKey);

    }

    render() {
        console.log('dfgvbd', this.props.quote)

        const test = this.props.quote.map((res, i) => {
            return (
                <li key={i}>{res.volume}</li>
            )
        })

        return (
            <div>
                <ul>
                    {test}
                </ul>
            </div>
        )
    }
}


export default connect(state => (
    {
        quote: state.fetchQuote.quote
    }
), { fetchQuote })(RealTimeQuote)


error text:
TypeError: Cannot read property 'quote' of undefined
ругается на : {
quote: state.fetchQuote.quote
}

при этом есть еще один вызов api точно по такому же примеру и все отрабатывает
  • Вопрос задан
  • 57 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Frontend-разработка на React
    10 недель
    Далее
  • Академия Эдюсон
    React-разработчик + ИИ
    2 месяца
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
Решения вопроса 1
mmmaaak
@mmmaaak
В state нет поля fetchQuote, есть просто state.quote
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы