как передать значение React Context Provider - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь предоставить токен аутентификации своим компонентам через контекст. Кажется, что объект передан моему дочернему компоненту, однако ни значение по умолчанию, ни значение, которое я установил в Provider, не достигают дочернего компонента. Что я делаю не так?

AuthTokenContext.js
import React from 'react'

const AuthTokenContext = React.createContext({token: 'asd'})

export const AuthTokenProvider = AuthTokenContext.Provider
export const AuthTokenConsumer = AuthTokenContext.Consumer

export default AuthTokenContext

UrlManager.js
import { AuthTokenProvider } from './AuthTokenContext.js'
class UrlManager extends React.Component{
  constructor(props){
    super(props)}

  render(){
    return(
      <AuthTokenProvider value={{token: 'test'}}>
        <MainPage />
      </AuthTokenProvider>
    )
  }
}

MainPage.js
import AuthTokenContext from './AuthTokenContext'
class MainPage extends React.Component{
  static contexType = AuthTokenContext
  constructor(props){
    super(props)
  }

  componentDidMount(){
    const temp = this.context
    console.log(temp) //console output: {}
  }
...