Остановить мерцание страницы при refre sh с помощью componentDidMount () - PullRequest
0 голосов
/ 09 февраля 2020

Я добавляю сеанс для сохранения входа в систему и, конечно, для каждого пользователя в моем приложении предусмотрены уникальные сеансы. Когда я вошел в систему и обновил sh страницу, мерцание модального имени входа мигает, поскольку состояние входа в систему ложно, пока проверка сеанса не завершится. Я читал об этом, и кажется, что это решается с помощью заполнителя загрузки и использования async / await или обещания в жизненном цикле componentDidMount. Однако это не работает. Я попробовал несколько способов, и сейчас я попробовал следующее, но я в некотором роде потерян, потому что ни один из различных методов, которые я пробовал, не работал.

export default class BasePage extends Component {
  constructor() {
    super()

    this.state = {
      loggedIn: false,
      userEmail: null,
      userPassword: null,
      userName: null,
      registerUserForm: false,
      sessionActive: false,
      sessionID: null,
      fullPageLoad: null
    }

    this.checkSession = this.checkSession.bind(this)
  }

  componentDidMount() {
    (async () => {
      await this.checkSession()
      this.setState({
        fullPageLoad: true
      })
    })()
}


// React page body
render() {
  if (this.state.fullPageLoad === null) {
    return(
      <div>Loading ...</div>
    )
  } else {
    return (
      // Render page content
    )
  }
}
...