Имея состояние, которое меняется через некоторое время (после извлечения содержимого), если я хочу создать переменную и построить новое состояние из этого, при изменении первого состояния оно не распространяется на второе состояние
Как я могу решить это? Я не хотел бы объединять 2 состояния в одно, так как это смешало бы компоненты, которые делают разные вещи
Если у вас есть время, вы можете взглянуть на коды и поле ниже
https://codesandbox.io/s/purple-sun-mx428?fontsize=14&hidenavigation=1&theme=dark
И я вставляю сюда код
import React, { useEffect, useState } from "react";
import "./styles.css";
const wait = ms => new Promise((r, j) => setTimeout(r, ms));
const test2 = () => {
const [test, setTest] = useState("hi");
useEffect(() => {
const testf = async stillMounted => {
await wait(1000);
setTest("bye");
};
const stillMounted = { value: true };
testf(stillMounted);
return () => {
stillMounted.value = false;
};
}, []);
return test;
};
export default function App() {
const here = test2();
const stru = [{ id: "whatever", content: here }];
const [elements, setElements] = useState(stru);
console.log(stru);
console.log(elements);
return (
<div className="App">
<h1>stru: {stru[0].content}</h1>
<h2>elements: {elements[0].content}</h2>
</div>
);
}