'', name: '', isLogined: false} );
2.Оборачиваю в провайдер
return <Contetext.Provider value={loginUser}>
<Routes>
<Route path='/' element={<HomePage/>}/>
<Route path='/login' element={<LoginPage/>}/>
</Routes>
</Contetext.Provider>
3. Так читаю
const loginUser = useContext(Contetext)
return (
<div>
<h1>Main Page</h1>
<p>
Токен: {loginUser.token}
</p>
<p>
Войден:{loginUser.isLogined}
</p>
<p>
Имя:{loginUser.name}
</p>
</div>
)
}
4. Но почему запись тоже работает, ведь нет никакого сеттера? Или магия происходит внутри контекста?
const loginUser = useContext(Contetext)
...
loginUser.isLogined = true;
loginUser.token = token;
loginUser.name = 'Vasya2';
navigate('/', {replace: true})
А не должна? Просто оно у тебя не будет реактивно в других компонентах обновлятся
Т.е. доступ к данным контекста я смогу иметь доступ в любом компоненте/странице и только не будет реактивного изменения ?
Обсуждают сегодня