У меня возникли трудности с использованием хука useState для объектов в React.
У меня есть кнопка, которую я надеялся использовать для очистки моего кода.
Я могу использовать новую функцию для каждого экземпляра кнопки, но я предполагаю, что есть другой способ.
Может быть, я могу реструктурировать свои переменные, я немного новичок в этом, поэтому я не уверен в лучшем способе.
import React, { useState } from "react";
import ProjectVB from "./ProjectVB";
import ProjectBB from "./ProjectBB";
import Up from "../icons/Up.svg";
import Down from "../icons/Down.svg";
import exampleVB from "../icons/projectVB.JPG";
import exampleBB from "../icons/projectBB.jpg";
const Projects = () => {
const [moreInfo, setMoreInfo] = useState({
SC: true,
VF: true,
VB: true,
BB: true,
});
const [aboutButton, setAboutButton] = useState({
BB: Down,
VB: Down,
SC: Down,
VF: Down,
});
const [project, setProject] = useState({
SC: false,
VF: false,
VB: false,
BB: false,
});
const ContinueReadingFunction = value => {
setMoreInfo.value(!moreInfo.value)
if (moreInfo.value === true) {
setProject.value(!project.value);
setAboutButton.value(Up);
} else {
aboutButton.value = Down;
project.value = false;
}
};
return (
<div className="imageContainer">
<div className="buttonBox">
<button
className="aboutButton"
onClick={() => ContinueReadingFunction("BB")}
>
<img
src={aboutButton.BB}
className="logo"
alt="More or less information."
/>
</button>
</div>
<div className="exampleImage">
<img
src={exampleBB}
className="exampleImageImage"
alt="screenshot of the project"
/>
</div>
</div>
{project.BB && <ProjectBB />}
</div>
<div className="projectContainer">
<h3>Vegan Berlin</h3>
<div className="imageContainer">
<div className="buttonBox">
<button className="aboutButton" onClick={ContinueReadingFunction}>
<img
src={aboutButton.VB}
className="logo"
alt="More or less information."
/>
</button>
</div>
<div className="exampleImage">
<img
src={exampleVB}
className="exampleImageImage"
alt="screenshot of the project"
/>
</div>
</div>
{project.VB && <ProjectVB />}
</div>
);
};
export default Projects;
Я могу использовать несколько отдельных функций для достижения результатов, но я пытаюсь реорганизовать свой код, чтобы изучить новые хуки