In first file Create.js (sorry for no refactoring code)
I have array with useRef() values,
it is updated as excepted:
const [refsArr, setRefsArr] = useState([]);
useEffect(() => {
setRefsArr([
{ fromAddress },
{ fromCity },
{ fromPC },
{ fromCountry },
{ toCName },
{ toAddress },
{ toCity },
{ toPC },
{ toCountry },
{ desc },
]);
}, []);
Also I have items.map() (short version, some props and container missing),
which include CreateItem component,
and also button which create new item for list inside big form (you can see app here)
{itemsList.map((item, itemIndex) => {
return (
enter code here
<CreateItem
key={item.id}
setRefsArr={setRefsArr}
refsArr={refsArr} />
<button
onClick={() => {
setItemsList([...itemsList, { id: itemsList.length + 1 }]);
}}
className="btn-create-item"
>
+ Add New Item
</button>
)
})}
and also there is CreateItem.js with useEffect with intention to update refsArr
useEffect(() => {
setRefsArr([...refsArr, [{ itemNameRef, qtyRef, priceRef }]]);
}, []);
but after intial render (app is loaded first time), useEffect() from CreateItem doesn't update refsArr.
It is updated after click on button. So I am puzzled how to update my refsArr initially?