ReactNative’de kalıcı “key-value” veri tutmak : Asyncstorage

Talha Tarık Küçük
5bayt
Published in
2 min readMay 15, 2020

Merhaba, bu yazımda ReactNative’de lokalde “key-value” veri tutulmasını sağlayan Asyncstorage’den bahsedeceğim.

Asyncstorage kullanımına geçmeden önce ihtiyaç ile ilgili senaryodan bahsedeceğim…

Senaryo

ReactNative ile bir uygulama yaptınız ve uygulamada “Intro,Giriş ve Ana Uygulama” bölümleriniz olsun.

Kullanıcı uygulamayı her açısında “Intro” tekraren gösterilmemeli.

Kullanıcı giriş yaptıysa direkt anasayfaya yönlendirilmeli.

İşte tam bu durumlarda Asyncstorage bize her kullanıma özel “key-value” kalıcı veri tutan bir özellik sunuyor. Yani uygulama kapatıldığında (uygulama silinip tekrar yüklenmedikçe) Asyncstorage ile tutulan veriler değişmez.

Asyncstorage’de örnek olarak şu alanları tutacağım. “IsIntro,IsLogin,LoginToken” burada IsIntro eğer true ise Intro gösterilmiş olacağında bir daha Intro’yu göstermemeyle ilgili kontrol yapabiliriz. Bu durumda IsIntro true ise bu sefer login kontrolü yapar. Eğer IsLogin false ise giriş yapmamıştır demektir. Kullanıcımız Intro’yu geçti. “IsLogin,true” olarak key,value kaydediyoruz. İkinci aşamada eğer kullanıcı başarılı şekilde giriş yaparsa IsLogin=true yaparız ve login servisinden bu kullanıcıya ve bu cihaza(deviceId)’ye özel servisimizden dönüğümüz Token’ı “Token,value” olarak kaydederiz. Login işlemi başarılı olduğunda ise her servis çağrımında Asyncstorage’de tuttuğumuz Token ve DeviceId(SHA256 vb ile şifrelenebilir) şekilde servise yollarız servis login işlemi ve süresi başarılı mı diye bakar ve veri döner.(Hesabın arkadaşları, hesap dashboard vs…)

AsyncStorage react-native içerisinde olduğu için kodlarda aşağıdaki gibi çağıracağız.

import {AsyncStorage} from ‘react-native’;

1.Adım: Storage.js

Uygulama mimarisi açısından Storage.js adında bir dosya oluşturdum. İçeriğini aşağıdaki gibi yaptım.

2.Adım

Storage.js’deki fonksiyonları çağırma.

Başka bir yazıda görüşmek üzere :)

--

--