Доступ реагировать значения контекста внутри провайдера? - PullRequest
0 голосов
/ 10 июля 2019

у меня есть следующий контекст

<AuthContext.Provider value={
    {
        token: localStorage.getItem('token'), 
        userId: this.state.userId, 
        login: this.login, 
        logout:this.logout
    }
}>
    <main className="main-content">
        <Switch>
            {this.context.token && <Redirect from="/" to="/events" exact/>}
            {this.context.token && <Redirect from="/register" to="/events" exact/>}
            {this.context.token && <Redirect from="/login" to="/events" exact/>}
            {!this.context.token && <Route path="/register" component={RegisterPage} />}
            <Route path="/events" component={EventsPage} />
            {this.context.token && <Route path="/bookings" component={BookingsPage} />}
            {!this.context.token && <Route path="/login" component={LoginPage} />}
            {!this.context.token && <Redirect to="/login" exact/>}
        </Switch>
    </main>
</AuthContext.Provider>

однако мой this.context.token не определен, даже если он установлен вне класса. В другом классе это работает, где я оборачиваю это с потребителем, однако, я сделал то же самое здесь, но безрезультатно! есть идеи? Могу ли я использовать значения в поставщике или мой оператор Switch должен быть заключен в тег <AuthContext.Provider>?

...