• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

React JS Problem z przekazaniem propsów do komponentu

Object Storage Arubacloud
0 głosów
299 wizyt
pytanie zadane 12 czerwca 2019 w JavaScript przez niezalogowany

Witam mam problem z wyświetleniem danych wywołanych w komponencie rodzica za pomocą propsów. Zaimportowałem dane z  tablicy ale obrazki jak i "string" nie chcą mi się wyświetlać. Poniżej daje materiały aby lepiej zapoznać się z problemem.

Category.js

import React from 'react';


const Category = ({image, category}) => (
    <div>
    <img src ={image}/>
    <h2>{category}</h2>
    </div>
)

export default Category;

Następnie używam tego komponentu w MenuList.js

import React from 'react';
import Category from '../../Category/Category';


const MenuList = () => (
    <div>
    <li>
        <Category />
        <ul>
            <li>

            </li>
            <li>

            </li>
        </ul>
    </li>
    </div>
)

export default MenuList;

A na końcu wywołuje propsy zdeklarowane w Category.js które mają wyświetlić dane z zaimportowanej tablicy.

 

CardMenu.js

import React from 'react';
import { RecipeDesc } from '../../../data/RecipeDesc'
import MenuList from './MenuList/MenuList';


const CardMenu = () => (
    <div>
    <ol>
    {RecipeDesc.map(item =>(
        <MenuList />
    ))}
    </ol>
    </div>
)

export default CardMenu;

,a to plik z danymi

import dish from '../src/assets/images/meat.png';

export const RecipeDesc = [
    {
        category: 'main course',
        image: dish,
    },
    {
        category: 'main course',
        image: dish,
    },
    {
        category: 'main course',
        image: dish,
    },
    {
        category: 'main course',
        image: dish,
    },
    {
        category: 'main course',
        image: dish,
    },
    {
        category: 'main course',
        image: dish,
    },
    {
        category: 'main course',
        image: dish,
    },
    {
        category: 'main course',
        image: dish,
    },
]

W rezultacie zamiast obrazków i tekstu otrzymuje puste pola w liście.

1 odpowiedź

0 głosów
odpowiedź 12 czerwca 2019 przez kubaapk Nałogowiec (44,270 p.)
wybrane 12 czerwca 2019
 
Najlepsza
{RecipeDesc.map(item =>(
        <MenuList />
))}

Nie przekazujesz tutaj w ogóle propsów to nic Ci nie wyświetla. 

 

{RecipeDesc.map(item =>(
        <MenuList item={item}/>
))}

I później w MenuList też musisz przekazać propsy do Category.

W tej chwili renderuje Ci po prostu 8 pustych pól, bo tyle ma tablica RecipeDesc.

 

komentarz 12 czerwca 2019 przez niezalogowany
Dzięki :D
komentarz 12 czerwca 2019 przez niezalogowany
edycja 12 czerwca 2019
Działa :D

Podobne pytania

0 głosów
1 odpowiedź 664 wizyt
pytanie zadane 26 lutego 2019 w JavaScript przez kameleon Użytkownik (590 p.)
0 głosów
1 odpowiedź 305 wizyt
pytanie zadane 20 stycznia 2021 w JavaScript przez FoLONG Nowicjusz (160 p.)
0 głosów
1 odpowiedź 208 wizyt

92,555 zapytań

141,403 odpowiedzi

319,554 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...