{"id":4371,"date":"2023-05-18T15:58:57","date_gmt":"2023-05-18T08:58:57","guid":{"rendered":"https:\/\/www.bagi2info.com\/?p=4371"},"modified":"2023-06-15T13:26:55","modified_gmt":"2023-06-15T06:26:55","slug":"react-native-tutorial-penyimpanan-lokal-expo-sqlite","status":"publish","type":"post","link":"https:\/\/www.bagi2info.com\/en\/react-native-expo-sqlite-local-storage-tutorial\/","title":{"rendered":"React Native Expo SQLite local storage tutorial"},"content":{"rendered":"\r\n<p class=\"wp-block-paragraph\">In this post, we&#8217;ll look at how to use SQLite to store and persist data locally in our React Native and Expo apps. SQLite is supported by practically all mobile devices. To access it, we must execute SQL queries; however, the data provided is in the form of javascript arrays and objects. To show how to run queries and change React states, we will do CRUD operations.\r\nThe following aspects will be discussed in this post, and all code will be written in the app.js file for convenience and demonstration purposes:<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Packages<br>Imports and Connection<br>Initialization and UI<br>Operations<br>Read<br>Create<br>Update<br>Delete<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code lang=\"jsx\" class=\"language-jsx line-numbers\">import React from 'react';\r\nimport {\r\n  View,\r\n  Text,\r\n  TouchableOpacity,\r\n  ScrollView,\r\n  StyleSheet,\r\n  SafeAreaView,\r\n  Platform,\r\n} from 'react-native';\r\n\r\nimport Constants from 'expo-constants';\r\nimport * as SQLite from 'expo-sqlite';\r\n\r\nconst db = SQLite.openDatabase('db.testDb'); \/\/ returns Database object\r\n\r\nclass App extends React.Component {\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      data: null,\r\n    };\r\n\r\n    if (Platform.OS != 'web') {\r\n      \/\/ Check if the items table exists if not create it\r\n      db.transaction((tx) => {\r\n        tx.executeSql(\r\n          'CREATE TABLE IF NOT EXISTS items (id INTEGER PRIMARY KEY AUTOINCREMENT, text TEXT, count INT)'\r\n        );\r\n      });\r\n\r\n      this.fetchData(); \/\/ ignore it for now\r\n    }\r\n  }\r\n  \/\/ event handler for new item creation\r\n  newItem = () => {\r\n    db.transaction((tx) => {\r\n      tx.executeSql(\r\n        'INSERT INTO items (text, count) values (?, ?)',\r\n        ['gibberish', 0],\r\n        (txObj, resultSet) =>\r\n          this.setState({\r\n            data: this.state.data.concat({\r\n              id: resultSet.insertId,\r\n              text: 'gibberish',\r\n              count: 0,\r\n            }),\r\n          }),\r\n        (txObj, error) => console.log('Error', error)\r\n      );\r\n    });\r\n  };\r\n  increment = (id) => {\r\n    db.transaction((tx) => {\r\n      tx.executeSql(\r\n        'UPDATE items SET count = count + 1 WHERE id = ?',\r\n        [id],\r\n        (txObj, resultSet) => {\r\n          if (resultSet.rowsAffected > 0) {\r\n            let newList = this.state.data.map((data) => {\r\n              if (data.id === id) return { ...data, count: data.count + 1 };\r\n              else return data;\r\n            });\r\n            this.setState({ data: newList });\r\n          }\r\n        }\r\n      );\r\n    });\r\n  };\r\n  delete = (id) => {\r\n    db.transaction((tx) => {\r\n      tx.executeSql(\r\n        'DELETE FROM items WHERE id = ? ',\r\n        [id],\r\n        (txObj, resultSet) => {\r\n          if (resultSet.rowsAffected > 0) {\r\n            let newList = this.state.data.filter((data) => {\r\n              if (data.id === id) return false;\r\n              else return true;\r\n            });\r\n            this.setState({ data: newList });\r\n          }\r\n        }\r\n      );\r\n    });\r\n  };\r\n  fetchData = () => {\r\n    db.transaction((tx) => {\r\n      \/\/ sending 4 arguments in executeSql\r\n      tx.executeSql(\r\n        'SELECT * FROM items',\r\n        null, \/\/ passing sql query and parameters:null\r\n        \/\/ success callback which sends two things Transaction object and ResultSet Object\r\n        (txObj, { rows: { _array } }) => this.setState({ data: _array }),\r\n        \/\/ failure callback which sends two things Transaction object and Error\r\n        (txObj, error) => console.log('Error ', error)\r\n      ); \/\/ end executeSQL\r\n    }); \/\/ end transaction\r\n  };\r\n\r\n  render() {\r\n    return (\r\n      &lt;SafeAreaView style={Style.main}>\r\n        &lt;Text style={Style.heading}>Add Random Name with Counts&lt;\/Text>\r\n\r\n        {Platform.OS === 'web' ? (\r\n          &lt;View\r\n            style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>\r\n            &lt;Text style={Style.heading}>\r\n              Expo SQlite is not supported on web!\r\n            &lt;\/Text>\r\n          &lt;\/View>\r\n        ) : (\r\n          &lt;>\r\n            &lt;TouchableOpacity onPress={this.newItem} style={Style.green}>\r\n              &lt;Text style={Style.white}>Add New Item&lt;\/Text>\r\n            &lt;\/TouchableOpacity>\r\n\r\n            &lt;ScrollView style={Style.widthfull}>\r\n              {this.state.data &amp;&amp;\r\n                this.state.data.map((data) => (\r\n                  &lt;View key={data.id} style={Style.list}>\r\n                    &lt;Text>\r\n                      {data.text} - {data.count}\r\n                    &lt;\/Text>\r\n                    &lt;View style={Style.list}>\r\n                      &lt;TouchableOpacity onPress={() => this.increment(data.id)}>\r\n                        &lt;Text style={Style.boldGreen}> + &lt;\/Text>\r\n                      &lt;\/TouchableOpacity>\r\n                      &lt;TouchableOpacity onPress={() => this.delete(data.id)}>\r\n                        &lt;Text style={Style.boldRed}> DEL &lt;\/Text>\r\n                      &lt;\/TouchableOpacity>\r\n                    &lt;\/View>\r\n                  &lt;\/View>\r\n                ))}\r\n            &lt;\/ScrollView>\r\n          &lt;\/>\r\n        )}\r\n      &lt;\/SafeAreaView>\r\n    );\r\n  }\r\n}\r\nexport default App;\r\n\r\nconst Style = StyleSheet.create({\r\n  main: {\r\n    backgroundColor: '#fff',\r\n    flex: 1,\r\n    paddingTop: Constants.statusBarHeight,\r\n    padding: 20,\r\n  },\r\n\r\n  white: {\r\n    color: 'white',\r\n  },\r\n  green: {\r\n    backgroundColor: 'green',\r\n    padding: 10,\r\n  },\r\n  boldGreen: {\r\n    backgroundColor: 'green',\r\n    padding: 10,\r\n    borderRadius: 10,\r\n    color: 'white',\r\n    marginRight: 10,\r\n  },\r\n  boldRed: {\r\n    backgroundColor: 'red',\r\n    padding: 10,\r\n    borderRadius: 10,\r\n    color: 'white',\r\n  },\r\n  heading: {\r\n    fontSize: 20,\r\n    fontWeight: 'bold',\r\n    textAlign: 'center',\r\n    paddingVertical: 40,\r\n  },\r\n  list: {\r\n    flexDirection: 'row',\r\n    justifyContent: 'space-between',\r\n    alignItems: 'center',\r\n    borderBottomWidth: 1,\r\n    borderBottomColor: '#ccc',\r\n  },\r\n  widthfull: {\r\n    flex: 1,\r\n  },\r\n});\r\n<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Snack link<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/snack.expo.dev\/@rudiahmad\/sqlite-example\">https:\/\/snack.expo.dev\/@rudiahmad\/sqlite-example<\/a><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Note: testing cannot use web snacks, run the Expo application to do the testing<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Reference:<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The coding example is taken from the reference below with the improvement of the code so that it runs and added styles because styles are not shared from the original code<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">https:\/\/reactdevstation.github.io\/2020\/04\/04\/sqllite.html<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><\/p>\r\n\r\n","protected":false},"excerpt":{"rendered":"<p>In this post, we&#8217;ll look at how to use SQLite to store and persist data locally in our React Native and Expo apps. SQLite is supported by practically all mobile devices. To access it,&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":4193,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[173],"tags":[79,65,11,150,145,7],"class_list":["post-4371","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-react-native","tag-android","tag-aplikasi-mobile","tag-database","tag-react-native","tag-source-code","tag-sql"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Dalam panduan ini, kita akan melihat penggunaan SQLite untuk menyimpan dan mempertahankan data secara lokal di aplikasi React Native &amp; Expo kita. SQLite tersedia di hampir semua perangkat seluler. Kita harus menulis kueri SQL untuk mengaksesnya, namun, data yang dikembalikan dalam bentuk array &amp; objek javascript. Kami akan melakukan operasi CRUD untuk mendemonstrasikan cara melakukan\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"webmaster\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.bagi2info.com\/en\/react-native-expo-sqlite-local-storage-tutorial\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Bagi2info.com - Tips dan Trik Komputer, Tutorial Pemrograman, SQL, PHP, React Native - Expo\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"React Native Expo SQLite local storage tutorial\" \/>\n\t\t<meta property=\"og:description\" content=\"Dalam panduan ini, kita akan melihat penggunaan SQLite untuk menyimpan dan mempertahankan data secara lokal di aplikasi React Native &amp; Expo kita. SQLite tersedia di hampir semua perangkat seluler. Kita harus menulis kueri SQL untuk mengaksesnya, namun, data yang dikembalikan dalam bentuk array &amp; objek javascript. Kami akan melakukan operasi CRUD untuk mendemonstrasikan cara melakukan\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.bagi2info.com\/en\/react-native-expo-sqlite-local-storage-tutorial\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/www.bagi2info.com\/wp-content\/uploads\/2017\/10\/coollogo_com-12072770.png?fit=28164&#038;ssl=1\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/i0.wp.com\/www.bagi2info.com\/wp-content\/uploads\/2017\/10\/coollogo_com-12072770.png?fit=28164&#038;ssl=1\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2023-05-18T08:58:57+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-06-15T06:26:55+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@bagi2infocom\" \/>\n\t\t<meta name=\"twitter:title\" content=\"React Native Expo SQLite local storage tutorial\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Dalam panduan ini, kita akan melihat penggunaan SQLite untuk menyimpan dan mempertahankan data secara lokal di aplikasi React Native &amp; Expo kita. SQLite tersedia di hampir semua perangkat seluler. Kita harus menulis kueri SQL untuk mengaksesnya, namun, data yang dikembalikan dalam bentuk array &amp; objek javascript. Kami akan melakukan operasi CRUD untuk mendemonstrasikan cara melakukan\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@bagi2infocom\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/i0.wp.com\/www.bagi2info.com\/wp-content\/uploads\/2017\/10\/coollogo_com-12072770.png?fit=28164&amp;ssl=1\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/react-native-expo-sqlite-local-storage-tutorial\\\/#blogposting\",\"name\":\"React Native Expo SQLite local storage tutorial\",\"headline\":\"React Native Expo SQLite local storage tutorial\",\"author\":{\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/author\\\/admin\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.bagi2info.com\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/setup_learn_sql_mac.webp\",\"width\":800,\"height\":450,\"caption\":\"setup learn sql mac\"},\"datePublished\":\"2023-05-18T15:58:57+07:00\",\"dateModified\":\"2023-06-15T13:26:55+07:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/react-native-expo-sqlite-local-storage-tutorial\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/react-native-expo-sqlite-local-storage-tutorial\\\/#webpage\"},\"articleSection\":\"React Native, android, aplikasi mobile, database, react native, source code, sql\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/react-native-expo-sqlite-local-storage-tutorial\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/category\\\/react-native\\\/#listItem\",\"name\":\"React Native\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/category\\\/react-native\\\/#listItem\",\"position\":2,\"name\":\"React Native\",\"item\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/category\\\/react-native\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/react-native-expo-sqlite-local-storage-tutorial\\\/#listItem\",\"name\":\"React Native Expo SQLite local storage tutorial\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/react-native-expo-sqlite-local-storage-tutorial\\\/#listItem\",\"position\":3,\"name\":\"React Native Expo SQLite local storage tutorial\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/category\\\/react-native\\\/#listItem\",\"name\":\"React Native\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/#person\",\"name\":\"webmaster\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/react-native-expo-sqlite-local-storage-tutorial\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/38da1efad6745212e2c3b76c8d8e72f69844b6451e55a9c219cdb2bb8b8901ef?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"webmaster\"},\"sameAs\":[\"https:\\\/\\\/twitter.com\\\/bagi2infocom\",\"https:\\\/\\\/www.instagram.com\\\/bagi2infocom\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/author\\\/admin\\\/#author\",\"url\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/author\\\/admin\\\/\",\"name\":\"webmaster\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/react-native-expo-sqlite-local-storage-tutorial\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/38da1efad6745212e2c3b76c8d8e72f69844b6451e55a9c219cdb2bb8b8901ef?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"webmaster\"},\"sameAs\":[\"https:\\\/\\\/twitter.com\\\/bagi2infocom\",\"https:\\\/\\\/www.instagram.com\\\/bagi2infocom\"]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/react-native-expo-sqlite-local-storage-tutorial\\\/#webpage\",\"url\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/react-native-expo-sqlite-local-storage-tutorial\\\/\",\"name\":\"React Native Expo SQLite local storage tutorial\",\"description\":\"Dalam panduan ini, kita akan melihat penggunaan SQLite untuk menyimpan dan mempertahankan data secara lokal di aplikasi React Native & Expo kita. SQLite tersedia di hampir semua perangkat seluler. Kita harus menulis kueri SQL untuk mengaksesnya, namun, data yang dikembalikan dalam bentuk array & objek javascript. Kami akan melakukan operasi CRUD untuk mendemonstrasikan cara melakukan\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/react-native-expo-sqlite-local-storage-tutorial\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/author\\\/admin\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/author\\\/admin\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.bagi2info.com\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/setup_learn_sql_mac.webp\",\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/react-native-expo-sqlite-local-storage-tutorial\\\/#mainImage\",\"width\":800,\"height\":450,\"caption\":\"setup learn sql mac\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/react-native-expo-sqlite-local-storage-tutorial\\\/#mainImage\"},\"datePublished\":\"2023-05-18T15:58:57+07:00\",\"dateModified\":\"2023-06-15T13:26:55+07:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/\",\"name\":\"Bagi2info.com\",\"description\":\"Tips dan Trik Komputer, Tutorial Pemrograman, SQL, PHP, React Native - Expo\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.bagi2info.com\\\/en\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"React Native Expo SQLite local storage tutorial","description":"Dalam panduan ini, kita akan melihat penggunaan SQLite untuk menyimpan dan mempertahankan data secara lokal di aplikasi React Native & Expo kita. SQLite tersedia di hampir semua perangkat seluler. Kita harus menulis kueri SQL untuk mengaksesnya, namun, data yang dikembalikan dalam bentuk array & objek javascript. Kami akan melakukan operasi CRUD untuk mendemonstrasikan cara melakukan","canonical_url":"https:\/\/www.bagi2info.com\/en\/react-native-expo-sqlite-local-storage-tutorial\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.bagi2info.com\/en\/react-native-expo-sqlite-local-storage-tutorial\/#blogposting","name":"React Native Expo SQLite local storage tutorial","headline":"React Native Expo SQLite local storage tutorial","author":{"@id":"https:\/\/www.bagi2info.com\/en\/author\/admin\/#author"},"publisher":{"@id":"https:\/\/www.bagi2info.com\/en\/#person"},"image":{"@type":"ImageObject","url":"https:\/\/www.bagi2info.com\/wp-content\/uploads\/2023\/03\/setup_learn_sql_mac.webp","width":800,"height":450,"caption":"setup learn sql mac"},"datePublished":"2023-05-18T15:58:57+07:00","dateModified":"2023-06-15T13:26:55+07:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.bagi2info.com\/en\/react-native-expo-sqlite-local-storage-tutorial\/#webpage"},"isPartOf":{"@id":"https:\/\/www.bagi2info.com\/en\/react-native-expo-sqlite-local-storage-tutorial\/#webpage"},"articleSection":"React Native, android, aplikasi mobile, database, react native, source code, sql"},{"@type":"BreadcrumbList","@id":"https:\/\/www.bagi2info.com\/en\/react-native-expo-sqlite-local-storage-tutorial\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.bagi2info.com\/en\/#listItem","position":1,"name":"Home","item":"https:\/\/www.bagi2info.com\/en\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.bagi2info.com\/en\/category\/react-native\/#listItem","name":"React Native"}},{"@type":"ListItem","@id":"https:\/\/www.bagi2info.com\/en\/category\/react-native\/#listItem","position":2,"name":"React Native","item":"https:\/\/www.bagi2info.com\/en\/category\/react-native\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.bagi2info.com\/en\/react-native-expo-sqlite-local-storage-tutorial\/#listItem","name":"React Native Expo SQLite local storage tutorial"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.bagi2info.com\/en\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.bagi2info.com\/en\/react-native-expo-sqlite-local-storage-tutorial\/#listItem","position":3,"name":"React Native Expo SQLite local storage tutorial","previousItem":{"@type":"ListItem","@id":"https:\/\/www.bagi2info.com\/en\/category\/react-native\/#listItem","name":"React Native"}}]},{"@type":"Person","@id":"https:\/\/www.bagi2info.com\/en\/#person","name":"webmaster","image":{"@type":"ImageObject","@id":"https:\/\/www.bagi2info.com\/en\/react-native-expo-sqlite-local-storage-tutorial\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/38da1efad6745212e2c3b76c8d8e72f69844b6451e55a9c219cdb2bb8b8901ef?s=96&d=mm&r=g","width":96,"height":96,"caption":"webmaster"},"sameAs":["https:\/\/twitter.com\/bagi2infocom","https:\/\/www.instagram.com\/bagi2infocom"]},{"@type":"Person","@id":"https:\/\/www.bagi2info.com\/en\/author\/admin\/#author","url":"https:\/\/www.bagi2info.com\/en\/author\/admin\/","name":"webmaster","image":{"@type":"ImageObject","@id":"https:\/\/www.bagi2info.com\/en\/react-native-expo-sqlite-local-storage-tutorial\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/38da1efad6745212e2c3b76c8d8e72f69844b6451e55a9c219cdb2bb8b8901ef?s=96&d=mm&r=g","width":96,"height":96,"caption":"webmaster"},"sameAs":["https:\/\/twitter.com\/bagi2infocom","https:\/\/www.instagram.com\/bagi2infocom"]},{"@type":"WebPage","@id":"https:\/\/www.bagi2info.com\/en\/react-native-expo-sqlite-local-storage-tutorial\/#webpage","url":"https:\/\/www.bagi2info.com\/en\/react-native-expo-sqlite-local-storage-tutorial\/","name":"React Native Expo SQLite local storage tutorial","description":"Dalam panduan ini, kita akan melihat penggunaan SQLite untuk menyimpan dan mempertahankan data secara lokal di aplikasi React Native & Expo kita. SQLite tersedia di hampir semua perangkat seluler. Kita harus menulis kueri SQL untuk mengaksesnya, namun, data yang dikembalikan dalam bentuk array & objek javascript. Kami akan melakukan operasi CRUD untuk mendemonstrasikan cara melakukan","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.bagi2info.com\/en\/#website"},"breadcrumb":{"@id":"https:\/\/www.bagi2info.com\/en\/react-native-expo-sqlite-local-storage-tutorial\/#breadcrumblist"},"author":{"@id":"https:\/\/www.bagi2info.com\/en\/author\/admin\/#author"},"creator":{"@id":"https:\/\/www.bagi2info.com\/en\/author\/admin\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/www.bagi2info.com\/wp-content\/uploads\/2023\/03\/setup_learn_sql_mac.webp","@id":"https:\/\/www.bagi2info.com\/en\/react-native-expo-sqlite-local-storage-tutorial\/#mainImage","width":800,"height":450,"caption":"setup learn sql mac"},"primaryImageOfPage":{"@id":"https:\/\/www.bagi2info.com\/en\/react-native-expo-sqlite-local-storage-tutorial\/#mainImage"},"datePublished":"2023-05-18T15:58:57+07:00","dateModified":"2023-06-15T13:26:55+07:00"},{"@type":"WebSite","@id":"https:\/\/www.bagi2info.com\/en\/#website","url":"https:\/\/www.bagi2info.com\/en\/","name":"Bagi2info.com","description":"Tips dan Trik Komputer, Tutorial Pemrograman, SQL, PHP, React Native - Expo","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.bagi2info.com\/en\/#person"}}]},"og:locale":"en_US","og:site_name":"Bagi2info.com - Tips dan Trik Komputer, Tutorial Pemrograman, SQL, PHP, React Native - Expo","og:type":"article","og:title":"React Native Expo SQLite local storage tutorial","og:description":"Dalam panduan ini, kita akan melihat penggunaan SQLite untuk menyimpan dan mempertahankan data secara lokal di aplikasi React Native &amp; Expo kita. SQLite tersedia di hampir semua perangkat seluler. Kita harus menulis kueri SQL untuk mengaksesnya, namun, data yang dikembalikan dalam bentuk array &amp; objek javascript. Kami akan melakukan operasi CRUD untuk mendemonstrasikan cara melakukan","og:url":"https:\/\/www.bagi2info.com\/en\/react-native-expo-sqlite-local-storage-tutorial\/","og:image":"https:\/\/i0.wp.com\/www.bagi2info.com\/wp-content\/uploads\/2017\/10\/coollogo_com-12072770.png?fit=28164&#038;ssl=1","og:image:secure_url":"https:\/\/i0.wp.com\/www.bagi2info.com\/wp-content\/uploads\/2017\/10\/coollogo_com-12072770.png?fit=28164&#038;ssl=1","article:published_time":"2023-05-18T08:58:57+00:00","article:modified_time":"2023-06-15T06:26:55+00:00","twitter:card":"summary","twitter:site":"@bagi2infocom","twitter:title":"React Native Expo SQLite local storage tutorial","twitter:description":"Dalam panduan ini, kita akan melihat penggunaan SQLite untuk menyimpan dan mempertahankan data secara lokal di aplikasi React Native &amp; Expo kita. SQLite tersedia di hampir semua perangkat seluler. Kita harus menulis kueri SQL untuk mengaksesnya, namun, data yang dikembalikan dalam bentuk array &amp; objek javascript. Kami akan melakukan operasi CRUD untuk mendemonstrasikan cara melakukan","twitter:creator":"@bagi2infocom","twitter:image":"https:\/\/i0.wp.com\/www.bagi2info.com\/wp-content\/uploads\/2017\/10\/coollogo_com-12072770.png?fit=28164&ssl=1"},"aioseo_meta_data":{"post_id":"4371","title":null,"description":null,"keywords":[],"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":[],"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-05-18 08:50:44","updated":"2025-06-04 09:03:01","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.bagi2info.com\/en\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.bagi2info.com\/en\/category\/react-native\/\" title=\"React Native\">React Native<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tReact Native Expo SQLite local storage tutorial\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.bagi2info.com\/en\/"},{"label":"React Native","link":"https:\/\/www.bagi2info.com\/en\/category\/react-native\/"},{"label":"React Native Expo SQLite local storage tutorial","link":"https:\/\/www.bagi2info.com\/en\/react-native-expo-sqlite-local-storage-tutorial\/"}],"_links":{"self":[{"href":"https:\/\/www.bagi2info.com\/en\/wp-json\/wp\/v2\/posts\/4371","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bagi2info.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bagi2info.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bagi2info.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bagi2info.com\/en\/wp-json\/wp\/v2\/comments?post=4371"}],"version-history":[{"count":9,"href":"https:\/\/www.bagi2info.com\/en\/wp-json\/wp\/v2\/posts\/4371\/revisions"}],"predecessor-version":[{"id":4396,"href":"https:\/\/www.bagi2info.com\/en\/wp-json\/wp\/v2\/posts\/4371\/revisions\/4396"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bagi2info.com\/en\/wp-json\/wp\/v2\/media\/4193"}],"wp:attachment":[{"href":"https:\/\/www.bagi2info.com\/en\/wp-json\/wp\/v2\/media?parent=4371"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bagi2info.com\/en\/wp-json\/wp\/v2\/categories?post=4371"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bagi2info.com\/en\/wp-json\/wp\/v2\/tags?post=4371"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}