@NikolaiD

Ошибки: Error: Hydration failed because the initial UI does not match what was rendered on the server. Как исправить?

Начал изучать Next js, пишу регистрацию - логинизацию пользователя, при рендере по условию, когда есть токин и появляєтся кнопка Logout после логинизации получаю 3 ошибки:
Error: Text content does not match server-rendered HTML.
Error: Hydration failed because the initial UI does not match what was rendered on the server.
Error: There was an error while hydrating. Because the error happened outside of a Suspense boundary, the entire root will switch to client rendering.
Решиния описание в доках не применими, проблема не та.
Може кто помочь?

import Link from "next/link";
import { connect } from "react-redux";
import { logOut } from "../redux/auth/authActions";

export const siteTitle = "Auth";

function Navigation({ isAuth, logOut }) {
  return (
    <div className={styles.container}>
      <header className={styles.header}>
        <nav>
          {isAuth ? (
            <Link href="/">
              <button type="button" onClick={logOut}>
                Logout
              </button>
            </Link>
          ) : (
            <>
              <Link href="singup">
                <button type="button">Signup</button>
              </Link>

              <Link href="login">
                <button type="button">Login</button>
              </Link>
            </>
          )}
        </nav>
      </header>
    </div>
  );
}

const mapStateToProps = (state) => {
  return {
    isAuth: state.auth.idToken,
  };
};

export default connect(mapStateToProps, { logOut })(Navigation);
  • Вопрос задан
  • 1212 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы