Ich habe versucht, Datenbank SQLite in meiner Tauri -App zu verwenden. Ich habe der offiziellen Dokumentation verfolgt und die Datenbank funktioniert ordnungsgemäß. Als ob ich DB -Operationen normal ausführen kann, aber jetzt wollte ich eine Singleton -Instanz für Datenbank erstellen. Also habe ich einen Haken für die Datenbank gemacht, aber das Problem ist, dass es nicht so funktioniert, wie es soll, bitte schauen Sie sich meine Hakenkomponente an. p>
Code: Select all
npm run tauri dev
< /code>
Die Ausgabe der Konsole lautet: < /p>
Tauri erkannt: Falsch < /p>
< / blockquote>
und: < /p>
window.__TAURI__
Code: Select all
import { useState, useEffect } from 'react';
import Database from '@tauri-apps/plugin-sql';
type DatabaseInstance = Awaited;
export const useDatabase = () => {
const [db, setDb] = useState(null);
useEffect(() => {
// Check here
console.log('Tauri detected:', !!window.__TAURI__);
console.log(window.__TAURI__);
if (typeof window !== 'undefined' && window.__TAURI__) {
Database.load('sqlite:test.db')
.then((database) => {
console.log('Database loaded successfully:', database);
setDb(database);
})
.catch((error) => {
console.error('Failed to load database:', error);
});
}
}, []);
return db;
};
Code: Select all
import { Database } from '@tauri-apps/plugin-sql';
declare global {
interface Window {
__TAURI__: {
sql: {
load: (connectionString: string) => Promise;
};
};
}
}
< /code>
package.json
"@tauri-apps/api": "^2.2.0",
"@tauri-apps/cli": "^2.2.7",
"@tauri-apps/plugin-sql": "^2.2.0",
"next": "15.1.6",
"react": "^19.0.0",
"react-color": "^2.19.3",
"react-dom": "^19.0.0"