Fenster .__ Tauri__ ist nicht verfügbar
Posted: 08 Feb 2025, 16:33
Tauri V2 mit Next.js v15 < /p>
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> ist undefiniert
Da __tauri __ zur Laufzeit eingefügt wurde, musste ich eine Typdatei dafür erstellen. ">
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"