React Nativeでアプリ開発を行っております。
ExpoのSQLiteを使用したいと思っています。
テーブルは作成してデータもインサートした段階です。
データ取得を関数で取得したくて、インサートしたデータをreturnしたいのですが
結果がundefinedになってしまいます。
関数の仕組みがざっくりしか理解できていないのもあり、どのようにreturnできるのかわかりません。
ご教授のほどよろしくお願いいたします。
js
// Get_databace.jsx import * as SQLite from "expo-sqlite"; // DB接続 const db = SQLite.openDatabase("db"); export default function GetDB(){ db.transaction((tx) => { tx.executeSql( `select * from test_table ;`, [], // SQL文が成功の場合 (_, { rows }) => { // テーブル内の全データ const data = rows._array; // データが空じゃない場合 if (data.length) { return data; //ここのデータがreturnされてほしい } }, // SQL文が失敗の場合 () => { console.log("select faile"); } ) }) }
js
// App.jsx import GetDB from './Get_databace'; import React, { useState, useEffect } from 'react'; export default function App() { const [DB,setDB] = useState(null); useEffect(() => { const databace = GetDB(); //Get_databace.jsxのGetDBのreturn setDB(databace) console.log(DB) // → undefined }, []); }
まだ回答がついていません
会員登録して回答してみよう