Ошибка You need to enable JavaScript to run this app. React

Рейтинг: 0Ответов: 1Опубликовано: 01.04.2023

Создаю небольшой сайт на React. Сначала всё шло стабильно нормально, а потом сайт перестал работать. Просто какой-то фон на сайте и всё, больше ничего нет: ни кнопок, ни текста. Просто светло-голубой фон. решил залезить в инспектор кода в браузере, чтобы посмотреть, что там не так. Ошибок консоль не выдаёт, но тег <noscript> пишет такое: введите сюда описание изображения У меня это началось приблизительно после подключения LocalStorage, но я пробовал сейчас убрать код, связанный с LocalStorage - не помогает... Читал, что надо подлкючить JavaScript в браузере, но как он мог сам отключиться...

Содержимое package.json

{
  "name": "bookshelf",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.16.5",
    "@testing-library/react": "^13.4.0",
    "@testing-library/user-event": "^13.5.0",
    "bootstrap": "^4.3.1",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-scripts": "5.0.1",
    "web-vitals": "^2.1.4"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

Ответы

▲ 1Принят

При открытии проекта я увидел сообщение об ошибке что getBookData() возвращает null.

getBookData = () => {
  return JSON.parse(localStorage.getItem("books")) ;
};

По видимому складывается такая ситуация что он не может вытянуть книги из localStorage таким образом нужно их просто туда записать, сделать это можно следующим образом:

  getBookData = () => {
    const data = JSON.parse(localStorage.getItem("books"))
    if (!data){
      this.setBookData(booksData)
      return booksData 
    } 
    return JSON.parse(localStorage.getItem("books")) ;
  };

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