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

React Dropdown zamiana elementów

Cloud VPS
0 głosów
108 wizyt
pytanie zadane 4 sierpnia 2022 w JavaScript przez vishi7 Początkujący (430 p.)
edycja 5 sierpnia 2022 przez vishi7

Hej,

Chciałabym zrobić kalkulator walut ale mam problem z listą walut, a konkretnie nie mogę znaleźć sposobu aby zastąpić jeden element drugim, czyli np. z początkowego PLN na np. Euro.

Dopiero się uczę Reacta, dlatego proszę o wskazówki ;)

Podgląd strony: https://c-rates.netlify.app

Kod komponentu:

import React from 'react';
import CurrencyIcon from 'components/atoms/CurrencyIcon/CurrencyIcon';
import { useParams } from 'react-router-dom';
import { ReactComponent as Vector } from 'assets/vector.svg';
import { countries } from 'data/countries';
import { useState } from 'react';
import {
  Wrapper,
  Input,
  Filter,
  Code,
  Dropdown,
  ListItem,
  Flag,
  Image,
  Button,
} from './Calculator.styles';

const Calculator = () => {
  const { id } = useParams();
  const [isShown, setIsShown] = useState(false);
  const [selected, setSelected] = useState('');

  return (
    <Wrapper>
      <Input />
      <Filter onClick={(e) => setIsShown(!isShown)}>
        <CurrencyIcon isPLN={true} />
        <Code>pln</Code>
        <Vector />
        {isShown && (
          <Dropdown>
            {countries.map((countryData) => (
              <ListItem
                onClick={(e) => {
                  setSelected(countryData);
                  setIsShown(false);
                }}
              >
                <Flag>
                  <Image src={countryData.flag} alt="" />
                </Flag>
                <Code>{countryData.code}</Code>
              </ListItem>
            ))}
          </Dropdown>
        )}
      </Filter>
      <Input />
      <Filter>
        <CurrencyIcon />
        <Code>{id}</Code>
        <Vector />
        {isShown && (
          <Dropdown>
            {countries.map((countryData) => (
              <ListItem>
                <Flag>
                  <Image src={countryData.flag} alt="" />
                </Flag>
                <Code>{countryData.code}</Code>
              </ListItem>
            ))}
          </Dropdown>
        )}
      </Filter>
      <Button>Sprawdź kurs</Button>
    </Wrapper>
  );
};
export default Calculator;

 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 567 wizyt
pytanie zadane 2 maja 2021 w JavaScript przez Bakkit Dyskutant (7,600 p.)
0 głosów
1 odpowiedź 374 wizyt
0 głosów
2 odpowiedzi 649 wizyt

93,459 zapytań

142,454 odpowiedzi

322,724 komentarzy

62,837 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

Kursy INF.02 i INF.03
...