Почему redux state не запоминает изменение?

Пытаюсь реализовать логику смены темы на сайте, создал state в redux по клику на переключатель меняю state и в зависимости какое значение в state отрисовываю определенные цвета. Всё хорошо меняется но при переходе на другой страницу приложения state возвращается в начальное состояние, почему так? Почему state не запоминает изменение я ведь не перезагрузил приложение я перешёл на одну из вкладок?

Компонент:

import React from "react";
import logo from "../../img/image.png";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faBars, faMoon, faSun } from "@fortawesome/free-solid-svg-icons";
import { useSelector, useDispatch } from "react-redux";
import { changeThemeAC } from "../../redux/action/changeThemeAC";
import "./style.css";

function Navbar() {
  const dispatch = useDispatch();
  const theme = useSelector((state) => state.theme);
  console.log(theme);

  const handleTheme = () => {
    dispatch(changeThemeAC(!theme));
  };

  return (
    <>
      <nav className="navbar navbar-expand-lg navbar-custom">
        <div className="container">
          <a className="navbar-brand" href="/">
            <img className="logo" src={logo} alt="logo" />
          </a>
          <button
            className="navbar-toggler"
            type="button"
            data-toggle="collapse"
            data-target="#navbarSupportedContent"
            aria-controls="navbarSupportedContent"
            aria-expanded="false"
            aria-label="Toggle navigation"
          >
            <FontAwesomeIcon icon={faBars} style={{ color: "#fff" }} />
          </button>

          <div
            className="collapse navbar-collapse div-categories"
            id="navbarSupportedContent"
          >
            <ul className="navbar-nav ml-auto">
              <li>
                <a className="nav-link" href="/">
                  Главная <span className="sr-only">(current)</span>
                </a>
              </li>
              <li>
                <a className="nav-link" href="/aboutme">
                  Обо мне
                </a>
              </li>
              <li>
                <a className="nav-link" href="/skills">
                  Технологии
                </a>
              </li>
              <li>
                <a className="nav-link" href="/contact">
                  Контакты
                </a>
              </li>
              <li className="liCheckbox">
                <div>
                  <input type="checkbox" class="checkbox" id="chk" />
                  <label
                    class="label"
                    for="chk"
                    onClick={() => {
                      handleTheme();
                    }}
                  >
                    <FontAwesomeIcon
                      icon={faSun}
                      style={{
                        color: "#fff",
                        marginRight: "3px",
                        width: "10px",
                      }}
                    />
                    <FontAwesomeIcon
                      icon={faMoon}
                      style={{ color: "#fff", width: "10px" }}
                    />
                    <div class="ball"></div>
                  </label>
                </div>
              </li>
            </ul>
          </div>
        </div>
      </nav>
    </>
  );
}

export default Navbar;

Action:

export function changeThemeAC(type) {
  return {
    type,
  };
}

Reducer:

function changeTheme(state, action) {
  switch (action.type) {
    case true:
      return { ...state, theme: true };
    case false:
      return { ...state, theme: false };
    default:
      return state;
  }
}

export default changeTheme;

Ответы (0 шт):