
Pemelihara diinginkan
Toko redux yang persisten untuk ReasonAboutable ™ ️ Aplikasi offline-first, dengan dukungan kelas satu untuk UI yang optimis. Gunakan dengan React, React Native, atau sebagai wadah status mandiri untuk aplikasi web apa pun.
Redux Offline sekarang sedang dikelola oleh tim yang didorong oleh komunitas. Versi baru perpustakaan sekarang akan tersedia di bawah organisasi NPM
@redux-offline. Terima kasih banyak untuk @jevakallio karena telah membuat perpustakaan yang luar biasa ini.
npm install --save @redux-offline/redux-offline@nativenpm install --save @redux-offline/redux-offline@exponpm install --save @redux-offline/redux-offlineoffline Store dengan compose import { applyMiddleware , createStore , compose } from 'redux' ;
import { offline } from '@redux-offline/redux-offline' ;
import offlineConfig from '@redux-offline/redux-offline/lib/defaults' ;
// ...
const store = createStore (
reducer ,
preloadedState ,
compose (
applyMiddleware ( middleware ) ,
offline ( offlineConfig )
)
) ; const followUser = userId => ( {
type : 'FOLLOW_USER_REQUEST' ,
payload : { userId } ,
meta : {
offline : {
// the network action to execute:
effect : { url : '/api/follow' , method : 'POST' , json : { userId } } ,
// action to dispatch when effect succeeds:
commit : { type : 'FOLLOW_USER_COMMIT' , meta : { userId } } ,
// action to dispatch if network action fails permanently:
rollback : { type : 'FOLLOW_USER_ROLLBACK' , meta : { userId } }
}
}
} ) ;Jika efek payload adalah sesuatu selain JSON, Anda dapat melewati tubuh dan header:
const registerUser = ( name , email ) => ( {
type : 'REGISTER_USER' ,
payload : { name , email } ,
meta : {
offline : {
// the network action to execute:
effect : { url : '/api/register' , method : 'POST' , body : `name= ${ name } &email= ${ email } ` , headers : { 'content-type' : 'application/x-www-form-urlencoded' } } ,
// action to dispatch when effect succeeds:
commit : { type : 'REGISTER_USER_COMMIT' , meta : { name , email } } ,
// action to dispatch if network action fails permanently:
rollback : { type : 'REGISTER_USER_ROLLBACK' , meta : { name , email } }
}
}
} ) ; Jika menulis aplikasi asli untuk Android, Anda harus memastikan untuk meminta izin untuk mengakses status jaringan di AndroidManifest.xml Anda:
< uses-permission android : name = " android.permission.ACCESS_NETWORK_STATE " />Lihat dokumentasi untuk opsi konfigurasi, API lengkap, dan resep umum.
Perbaikan dan penambahan selamat datang. Untuk perubahan besar, silakan kirimkan masalah diskusi sebelum melompat ke pengkodean; Kami akan membencimu untuk menyia -nyiakan usaha.
Jika Anda melaporkan bug, harap sertakan kode yang mereproduksi kesalahan. Berikut ini adalah aplikasi awal di CodeSandBox.
Sebagai pengganti panduan gaya formal, ikuti aturan eslint yang disertakan, dan gunakan lebih cantik untuk memformat kode Anda.
Jika Anda ingin menggunakan versi redux-persist khusus, ada contoh konfigurasi.
Redux Offline adalah penyulingan pola yang ditemukan saat membangun aplikasi menggunakan perpustakaan yang sudah ada sebelumnya:
Tanpa pekerjaan mereka, Redux Offline tidak akan ada. Jika Anda menyukai ide-ide di balik Redux Offline, tetapi ingin membangun tumpukan Anda sendiri dari komponen tingkat bawah, ini adalah tempat yang baik untuk memulai.
Mit