Задать вопрос
  • Почему при запросе на сервер приходит информация с кавычками?

    @omyraucy Автор вопроса
    Короче, вопрос решил. Кому интересно вот код:

    from flask import Flask, render_template, make_response
    from flask_restful import Resource, Api
    
    app = Flask(__name__)
    api = Api(app)
    application = app
    
    
    @app.route('/')
    def hello_world():
        return render_template("index.html")
    
    
    class HelloWorld(Resource):
        def get(self):
            headers = { 'content-type': 'text/html' }
            response = make_response(render_template('clicked.html'), 200)
            response.headers = headers
            return response
    
    api.add_resource(HelloWorld, '/clicked')
    
    
    if __name__ == '__main__':
        app.run()
    Ответ написан
    Комментировать
  • Как настроить переключение слайдов React JS?

    @omyraucy
    Если вы пользуетесь React, то забудьте про document.getElement или querySelector со всеми вытекающими. У React для этого реализован свой функционал. Почитайте про useRef в официальной документации.
    Также, здесь не требуется useEffect.

    import React { useState } from "react"
    
    const Slider = ({ photo }) => {
        const [count, setCount] = useState(0)
    
        const next = () => {
            if (count === photo.data.photoAlbum.length - 1) { setCount(0) }
            else { setCount(count + 1) }
        }
    
        const prev = () => {
            if (count === 0) { setCount(photo.data.photoAlbum.length - 1) }
            else { setCount(0) }
        }
    
        return (
            <Carousel fade variant="dark" activeIndex={index}>
                <button onClick={prev}>Prev</button>
                <button onClick={next}>Next</button>
                { photo.data?.photoAlbum.map((res, index) => (
                    { count === index && <Carousel.Item>
                        <img className="d-block w-100" src={res.photo} alt="slide" />
                    </Carousel.Item>}
                )) }
            </Carousel>
        )
    }
    
    export default Slider


    Попробуй так.
    Ответ написан
    Комментировать
  • Как изменить код, чтобы на клике кнопки "Так" в модальном окне добавлялся товар, по которому сделан клик?

    @omyraucy
    Почему бы тебе не попробовать функциональные компоненты React? Это во-первых.
    Во-вторых, попробуй функцию добавления товара сделать немного по-другому.
    Пример:
    У тебя есть state.
    const state = { cart: [], orders: [], modal: {} } // я буду писать, отталкиваясь от объектного React, чтобы было удобнее читать, но если будут ошибки - сори.
    
    /*
    cart - массив с корзиной. В ней хранятся все товары.
    orders - массив товаров в ассортименте.
    */


    Зададим примерную структуру товара:
    В товаре будут следующие поля: id, title (название), description (описание), price (цена), pic (изображение).
    Теперь выводим товар. Завернем его в некий div.
    Распаковываем массив orders.
    { this.state.orders.map((ord, index) => <div onClick={setState(modal = ord)} key={index} className="order">/*тут распихиваешь другие поля (id, price и т.д.)*/</div>)}

    Мы присвоили в modal объект order. Теперь просто пропишем условие, что modal будет появляться только тогда, когда он не равен пустому объекту.

    { Object.keys(modal) > 0 && <Modal data={modal} /> }


    Смотрим, является ли объект пустым. Если да, то ничего не делаем. Если нет, то отображаем модальное окно.

    Резюмируем: в state добавляем массив с товарами. Его потом перебираем через map и при клике меняем состояние modal с пустого объекта на элемент массива товара. Если клик не произошел, то модальное окно отображаться не будет.

    Если надо сделать кнопку закрытия модального окна, то при нажатии кнопки можно просто сделать изменение состояние modal на пустой объект и оно будет закрываться.
    Ответ написан
    Комментировать