Как проверить, аутентифицирован ли пользователь перед отображением страницы? - PullRequest
1 голос
/ 30 мая 2020

Я использую Next. js с аутентификацией redux и firebase.

Я пытаюсь проверить, вошел ли пользователь в систему перед тем, как получить доступ к некоторым частным страницам.

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

// admin-layout.component.jsx
// Imports

class AdminLayout extends React.Component {
  componentDidMount() {
    console.log(this.props.currentUser);
    // if (this.props.currentUser) {
    //   if (this.props.currentUser.currentUser.role != "admin") {
    //     Router.push("/admin/login");
    //   }
    // }
    // if (!this.props.currentUser) {
    //   Router.push("/admin/login");
    // }
  }

  render() {
    return (
      <React.Fragment>
            // Irrelevant code here
            {this.props.children}
            // Irrelevant code here
      </React.Fragment>
    );
  }
}

const mapStateToProps = (state) => ({
  currentUser: state.user.currentUser,
});

export default connect(mapStateToProps)(AdminLayout);

Любой способ преодолеть эту ситуацию и разрешить только аутентифицированным пользователям доступ к частным страницам ?

...