Coder Social home page Coder Social logo

stellar-burgers's Introduction

Stellar Burger

Release Netlify Status License

Описание

Проектная работа 15 когорты yandex practicum.
Опубликованная бургерная netlify, gh-pages

yarn start

Запуск приложения в режиме разработчика
Откройте http://localhost:3000 в браузере.

yarn cy-test

e2e тестирование - требует запущенное локально приложения

yarn build

Сборка приложения

yarn test

Тестирование

stellar-burgers's People

Contributors

justking avatar

Watchers

 avatar

stellar-burgers's Issues

Проверять ответ от сервера на `ok`

Любой ответ от сервера нужно проверять на ok и вызывать ошибку, если ответ не ok. Таким образом, в catch Вы будете ловить и ошибки сервера, и ошибки невалидных данных.

.then(res => {
                if (res.ok) {
                    return res.json();
                }
                return Promise.reject(`Ошибка ${res.status}`);
            })

Originally posted by @gennady-bars in #1 (comment)

Убрать абсолютное позиционирование

position: 'absolute' не должно быть в проекте. Только в одном месте он используется: для крестика в попапе. Больше ничего нельзя позиционировать в абсолюте. Это делает верстку деревянной, Ею невозможно будет нормально управлять потом

Originally posted by @gennady-bars in #1 (comment)

Убрать инлайн-стили

Инлайн-стилей style={{не должно быть в проекте, если они не меняются динамически в коде компонента. Все стили описываются в модульных .module.css файлах, а в коде компонентов используются модульные css-стили.

Originally posted by @gennady-bars in #1 (comment)

Переделать на useRef и scrollIntoView

Можно лучше

Лучше без поиска в document все делать в реакте

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

При кликах на табы Булки, Соусы, Начинки можно сделать логику плавного скролла до секции. Это можно сделать с помощью хука useRef и методом scrollIntoView. Нужно установить для 3х секций 3 useRef и следить за изменением табов при кликах на них через функцию клика. Как меняется таб, то запускается scrollIntoView со значением behavior: "smooth"
Подробнее про useRef тут https://ru.reactjs.org/docs/hooks-reference.html#useref
Подробнее про scrollIntoView тут https://developer.mozilla.org/ru/docs/Web/API/Element/scrollIntoView

Originally posted by @gennady-bars in #1 (comment)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.