Скрыть заголовок на странице входа

Я хочу скрыть панель заголовка на странице входа в систему, и после успешного входа она должна появиться на других страницах. Я пытался создать класс в CSS, чтобы он скрыл заголовок, но я не смог найти способ отключить его после успешный вход

import React, { Component } from 'react';
import './App.css';
import Authen from './Pages/Authen';
import Home from './Pages/Home';
import {
  BrowserRouter as Router,
  Route,
  Link
} from 'react-router-dom';
class App extends Component {


  render() {
    return (

  <div className = "app">

    <Router>
    <div>
       <div className = "hide">
      <ul>
        <li><Link to = "/Home">Home</Link></li>
      </ul>
      </div>
      <Route exact path = "/" component = {Authen}/>
      <Route path = "/Home" component = {Home}/>
    </div>
  </Router>

  </div>

    );
  }
}

export default App;

CSS:

.hide{
  display: none;
}

Вот как страница перенаправляется со страницы аутентификации на домашнюю страницу. Страница входа находится не в том же файле, что и страница маршрутизатора:

    Login = () => {
    const email = this.refs.email.value;
    const password = this.refs.password.value;
    console.info(email,password);

    const auth = firebase.auth();

    const promise = auth.signInWithEmailAndPassword(email, password);

    promise.then(user =>{
      var lout = document.getElementById('Login');

      lout.classList.remove('hide');
    });

    promise.catch(e =>{
      var err = e.message;
      console.info(err);
      this.setState({err: err});
    });
    firebase.auth().onAuthStateChanged((user) => {
  if (user) {
    console.info(user.uid);
 this.props.history.push('/Home')
  }
});
}
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
1 054
1

Ответы 1

Для меня ваш код немного неясен, потому что мы не можем видеть, где вы объявляете свой заголовок. Я вижу несколько способов справиться с ситуацией.

Во-первых, я обычно использую React Redux для управления состоянием моего пользователя, и с помощью состояния вашего пользователя вы можете отображать HTML в зависимости от того, находится он в сети или нет. Это отрывок о том, как можно управлять динамическим рендерингом с помощью переменной.

class App extends Component {
  render() {
    let header = user.LoggedIn ? <Header /> : null
    return (
      <div>
            {header}
      </div>
    );
  }
}

Однако при текущем состоянии вашего приложения в этом может быть нет необходимости. Если вы скрываете только верхний колонтитул на своей корневой странице, зачем вообще его вставлять? Инкапсулируйте его на своей домашней странице и закончите.

Это должно быть в комментарии.

Nitin Dhomse 30.03.2018 09:51

Мой плохой @NitinDhomse, я пока не могу комментировать, так как у меня недостаточно репутации. Я новичок в SO, но в своем ответе я просто немного развил. Надеюсь, так лучше.

Kerry Gougeon 30.03.2018 10:08

спасибо, ребята, за вашу помощь, я проверю это, извините за мой поздний ответ, но я был занят пасхальной семьей ...

Karim Sawma 02.04.2018 18:41

Другие вопросы по теме