Redux adalah wadah status yang dapat diprediksi untuk aplikasi JavaScript.
Ini membantu Anda menulis aplikasi yang berperilaku konsisten, berjalan di lingkungan yang berbeda (klien, server, dan asli), dan mudah untuk diuji. Selain itu, ini memberikan pengalaman pengembang yang hebat.
Untuk menginstal redux di react native. Kami akan menginstal paket berikut.
yarn add react-redux redux redux-persist redux-thunk @react-native-community/async-storage
export const SAVE_TOKEN = 'SAVE_TOKEN';
import { SAVE_TOKEN } from './types';
export const saveToken = (key) => ({
type: SAVE_TOKEN,
payload: key
});
import { SAVE_TOKEN } from '../actions/types';
const initialState = {
token: ''
};
const Reducer = (state = initialState, action) => {
switch (action.type) {
case SAVE_TOKEN:
return {
...state,
token: action.payload,
};
default:
return state;
}
};
export default Reducer;
import {applyMiddleware, combineReducers, createStore, compose} from 'redux';
import thunk from 'redux-thunk';
import {persistStore, persistReducer} from 'redux-persist';
import AsyncStorage from '@react-native-community/async-storage';
import Reducer from './reducers';
// Redux Debugger
let composeEnhancer = compose;
if (__DEV__) {
composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
}
const Reducers = {
appData: Reducer
};
const persistConfig = {
key: 'root',
storage: AsyncStorage,
blacklist: ['navigation'], // navigation will not be persisted
// stateReconciler: autoMergeLevel2,
// timeout: 100000,
};
const persistedReducer = persistReducer(
persistConfig,
combineReducers(Reducers),
);
export const Store = createStore(
persistedReducer,composeEnhancer(applyMiddleware(thunk))
);
export const persistor = persistStore(Store);
import React from 'react';
import {Route} from './src/navigation/routes';
import {Provider} from 'react-redux';
import {PersistGate} from 'redux-persist/integration/react';
import {Store, persistor} from './src/store';
import {StatusBar} from 'react-native';
import RNBootSplash from 'react-native-bootsplash';
const App = () => {
RNBootSplash.hide();
return (
<Provider store={Store}>
<PersistGate loading={null} persistor={persistor}>
<StatusBar backgroundColor="#000" barStyle="light-content" /
<Route />
</PersistGate>
</Provider>
);
};
export default App;
import React, {useState, useEffect} from 'react';
import {persistor} from '../store';
import * as wpActions from '../../store/actions';
import {useSelector, useDispatch} from 'react-redux';
const Login = ({navigation}) => {
const dispatch = useDispatch();
const [code, setCode] = useState('');
const details = useSelector((state) => state.appData.details);
console.log(details);
// Comment this code if not clearing database.
useEffect(() => {
persistor.purge;
console.log('purging database');
}, []);
const sendToken=()=>{
dispatch(wpActions.saveToken(code))
}
yarn add @react-native-community/async-storage @react-native-community/masked-view @react-navigation/drawer @react-navigation/native @react-navigation/stack react-native-gesture-handler react-native-reanimated react-native-responsive-screen react-native-safe-area-context react-native-screens react-native-vector-icons react-redux redux redux-persist redux-thunk
Jika Anda adalah seseorang yang cenderung mengabaikan pesan peringatan “setiap elemen harus memiliki kunci unik” saat memetakan array di React, penting untuk meluangkan waktu sejenak untuk memahami mengapa peringatan ini dimunculkan sejak awal. Di Bereaksi, saat merender daftar item menggunakan “Array.
Sebagai developer Android dengan pengalaman lebih dari 7 tahun, saya selalu tertarik dengan dunia Java dan Kotlin. Namun sekitar setahun yang lalu, saya mendapati diri saya ingin menjelajahi sesuatu yang baru — dan saat itulah saya mulai mendalami React Native.
Kemarin kami menutup pintu pada Kontes Lagu Eurovision tahun ini dengan grand final yang gemerlap dan kacau di mana penyanyi Swedia Loreen membawa pulang trofi, menjadi wanita pertama yang menang dua kali dan membawa mahkota kembali ke Swedia 50 tahun setelah ABBA memenangkan kompetisi dengan "Waterloo". Mereka kemudian menjadi salah satu aksi terbesar dalam kanon musik pop.
Ketika Anda tumbuh dewasa, Anda cenderung diberi tahu bahwa dunia adalah apa adanya dan hidup Anda hanya untuk menjalani hidup Anda di dunia, tidak pernah mempertaruhkan hidup Anda, ikuti saja jalan yang ditetapkan dan pada akhirnya mati, dan cobalah untuk tidak melakukannya. hancurkan tembok terlalu banyak. Tapi itu kehidupan yang sangat terbatas.
Apa yang lama sekarang menjadi baru lagi dan apa yang dulu berkilau berkilau sekarang terasa kusam. Saya tidak berbicara tentang jeans JNCO yang kembali populer di antara anak-anak keren di pusat kota bersama dengan mode akhir 1990-an lainnya.
Jika kita ingin terus berkembang di planet ini, kita harus melakukan percakapan yang berbahaya. Yang menantang apa yang telah kita lakukan, apa yang kita lakukan, dan apa yang saat ini akan terus kita lakukan (atau rencanakan untuk lakukan).