Передача аргументов в компоненты React JS
в Main.jsx задана переменная через useState()
const[foo, setFoo] = useState([])
Дальше я передаю сеттер в Component1.jsx, а саму переменную в Component2.jsx, в нем я отрисовываю на основе полученного массива разметку.
По какой то причине когда я обновляю переменную через сеттер который я передал в первый компонент, я не получаю информацию о обновлении переменной во втором компоненте и моя разметка не ререндерится, хотя другие переменные работают по такому же принципу, не могу понять в чем может быть проблема, потому что другие переменные по такому же принципу у меня работают
Main.jsx
function Main() {
const[foo, setFoo] = useState([])
return (
<>
<div className="Main">
<Component1 setFoo={setFoo}/>
<Component2 foo={foo}/>
</div>
</>
);
}
export default Main;
Component1.jsx
function Component1({setFoo}) {
setFoo([{id: 5}, {id: 8}])
return (
<>
<div className="Component1">
</div>
</>
);
export default Component1
Component2.jsx
function Component2({foo}) {
console.log(foo) // Этот код срабатывает только при первой загрузке и после перерендера (когда обновляешь код, сюда доходит новая переменная)
return (
<>
<div className="Component2">
{foo.map(card =>{
return(
<div>
{card.id}
</div>
)})
}
</div>
</>
);
}
export default Component2