Получение 'undefined' на уровне компонента - PullRequest
0 голосов
/ 19 марта 2020

Я получаю неопределенный, когда я запускаю код ниже. Однако, если я получаю console.log результатов в ловушке, я получаю все данные

ловушка (работает нормально, извлекает данные)

import { useState, useEffect } from 'react';
import axios from 'axios';

export const GetOrders = () => {
    const [data, setData] = useState();

    useEffect(() => {
        axios.get('/allorders').then(res => {
            setData(res.data);
        });
    }, []);

    console.log(data);

    return { data };
};

компонент (возвращает неопределенное значение, когда я регистрирую данные)

import React from 'react';
import { GetOrders } from '../hooks/orders';

export const AllOrders = () => {
    const { data } = GetOrders();

    console.log(data);
    return (
        <ul>
            {data.forEach(order => (
                <li>{order.status}</li>
            ))}
        </ul>
    );
};

1 Ответ

3 голосов
/ 19 марта 2020

Ваш код выглядит хорошо. Просто инициализируйте data значением [], чтобы оно не сломалось, если вы превысите значения oop, так как undefined.map() не удастся

const [data, setData] = useState([]);
...