React Nav Bar не рендерится с новым состоянием - PullRequest
0 голосов
/ 29 июня 2018

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

Вот что у меня есть:

async function isLoggedIn() {
return await UsersManagement.isLoggedIn();
}

export default class Navigation extends React.Component {
  constructor(props) {
    super(props);
    this.state = ({ loggedIn: isLoggedIn() });
  }

  componentDidMount() {
    this.setState({ loggedIn: isLoggedIn()})
  }

  render() {
    return (
        {this.state.loggedIn ? (
          <LoggedInLinks />
        ) : (
            <NotLoggedInLinks />
          )}
       } 
 }

Я попытался удалить состояние из этого компонента, используя функцию UserManagement.isLoggedIn() напрямую. Эта функция работает. Я могу видеть через операторы печати, что он возвращает правильный ID пользователя или null, когда не вошел в систему.

Так чего мне не хватает? Есть ли лучший способ создать навигационную панель в реакции, которая изменяется в зависимости от статуса входа в систему?

Спасибо!

...