Передача свойств в Reaction.js / добавить в избранное - PullRequest
0 голосов
/ 23 октября 2019

У меня есть картированный аккордеон, каждый из которых имеет Favourite -икон. После нажатия на этот значок необходимо изменить цвет (это уже делается) и передать свойство {name.toUpperCase()} BadgeButton на страницу Favourites. Может кто-нибудь объяснить / показать мне, как? Любая помощь будет высоко ценится.

Это Accordion -страница:

export default function Accordion({ name, description, use, recipe, liked }) {
  const [clicked, setClicked] = useState(false);

  function handleClick() {
    setClicked(!clicked);
  }

  return (
    <AccordionDiv>
      <AccordionHead onClick={handleClick}>
        <div>
          <BadgeButton>{name.toUpperCase()}</BadgeButton>
          <StyledArrow clicked={clicked} />
        </div>
        <div>{use}</div>
      </AccordionHead>
      <AccordionContent clicked={clicked}>
        <span>{description}</span>
        <p>{recipe}</p>
        <StyledIcons>
          <Favourite liked={liked} />
          <Vote />
        </StyledIcons>
      </AccordionContent>
    </AccordionDiv>
  );
}

Favourites -страница:

export default function Favourites() {
  return (
    <WrapperDiv>
      <Header />
      <Title headline>FAVOURITES</Title>
      <BadgeButtonClose>{}</BadgeButtonClose>
    </WrapperDiv>
  );
}

1 Ответ

0 голосов
/ 23 октября 2019

Вы должны были бы установить имя в состоянии и передать его в качестве опоры в избранное. что-то вроде этого:

const [nameClicked, setNameClicked] = useState("");

function handleClick() {
    setClicked(!clicked);
    setNameClicked(name);
}

<AccordionDiv>
    ...
    <Favourite liked={liked} name={nameClicked} />
</AccordionDiv>
...