Когда я нажимаю разные кнопки холодильника, всегда отображается сообщение «В этом холодильнике ничего не найдено». на моей странице.
Для внешнего интерфейса я использую JavaScript и React.js. Серверная часть выполняется с помощью Python + Flask.
Может ли кто-нибудь помочь мне найти причину и исправить ее?
Внешняя страница1
Внешняя страница2
SpecificFridge.js:
Код: Выделить всё
import React, { useState, useEffect } from 'react';
import { useParams } from 'react-router-dom';
import NavBar from '../components/NavBar';
import './Style.css';
const SpecificFridge = () => {
const { fridgeNumber } = useParams();
console.log("fridgeNumber:", fridgeNumber);
const [items, setItems] = useState([]);
useEffect(() => {
fetch(`/api/fridge/${fridgeNumber}`)
.then(response => {
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
return response.json();
})
.then(data => setItems(data))
.catch(error => console.error('Error fetching fridge data:', error));
}, [fridgeNumber]);
return (
Fridge {fridgeNumber}
Item Name
Entry Date
Expiry Date
{items.length === 0 ? (
No items found in this fridge.
) : (
items.map((item, index) => (
{item.itemName}
{item.entryDate}
{item.expiryDate}
))
)}
);
};
export default SpecificFridge;
Код: Выделить всё
import React, { useState } from 'react';
import NavBar from '../components/NavBar';
import FridgeButton from '../components/FridgeButton';
import SpecificFridge from '../pages/SpecificFridge';
import './Style.css';
const Fridges = () => {
const [selectedFridge, setSelectedFridge] = useState(null);
const handleFridgeClick = (fridgeNumber) => {
setSelectedFridge(fridgeNumber);
};
return (
Total overview of all fridges
handleFridgeClick(1)} />
handleFridgeClick(2)} />
handleFridgeClick(3)} />
handleFridgeClick(4)} />
{selectedFridge !== null && }
);
};
export default Fridges;
Код: Выделить всё
from flask import Flask, jsonify, request
import sqlite3
app = Flask(__name__)
def get_db_connection():
conn = sqlite3.connect('stock.db')
conn.row_factory = sqlite3.Row
return conn
@app.route('/api/fridge/', methods=['GET'])
def get_fridge_items(fridgeNumber):
conn = None
try:
conn = get_db_connection()
items = conn.execute('SELECT itemName, entryDate, expiryDate FROM STOCK WHERE fridgeNumber = :fridgeNumber', {'fridgeNumber': fridgeNumber}).fetchall()
items_list = [dict(item) for item in items]
return jsonify(items_list)
except Exception as e:
print(f"An error occurred: {e}")
return jsonify({"error": "An error occurred while fetching data"}), 500
finally:
if conn:
conn.close()
if __name__ == '__main__':
app.run(debug=True)
Подробнее здесь: https://stackoverflow.com/questions/785 ... ching-data