Вы можете попытаться сохранить его выбор в localStorage или cookie или лучше в его профиле в базе данных, но я не знаю, используете ли вы его.
Вот пример с localStorage
export default function BackgroundCard(props) {
var body = document.getElementById("body");
function setBackground() {
localStorage.setItem('bg', props.image); // Set into local storage
body.style.backgroundImage = `url(${props.image})`;
}
return (
<Card style={{ maxWidth: 275, marginTop: 10 }}>
<CardActionArea>
<CardMedia
height="300"
component="img"
image={props.image}
title={props.title2}
/>
<CardContent>
<Typography gutterBottom variant="h5" component="h2">
{props.title}
</Typography>
<div style={{ display: "flex", alignItems: "center" }}>
<Button
id="bgImg"
variant="contained"
style={{ marginTop: 10 }}
onClick={setBackground}
>
Select
</Button>
</div>
</CardContent>
</CardActionArea>
</Card>
);
}
И чем где-то в вашем App.jsx вы можете добавить
useEffect(() => {
const img = localStorage.getItem('bg');
if (img) {
body.style.backgroundImage = `url(${img})`;
}
}, []);
Не знаете как Ваш App.jsx выглядит
Вы можете добавить это даже в свой индекс. js или любой верхний код