Simple Redux
Create Redux Folder
Create Reducers Folder. -->. create index.php
import { createSlice } from '@reduxjs/toolkit'
const initialState = {
userToken: {access_token:''},
userDes: [{token: "QpwL5tke4Pnpja7X4", disclaimer: 'sdsd'}],
loading: true,
error: null
}
export const eveReducer = createSlice({
initialState,
name: 'eveReducer',
reducers: {
AuthToken: (state = initialState, action) => {
state.userToken = action.payload
},
UserDisclaimer:(state = initialState, action) => {
state.userDes = action.payload
},
logout:(state = initialState, action) => {
state.userToken = {},
state.userData = {}
},
},
})
export const { AuthToken , UserDisclaimer , logout} = eveReducer.actions
export default eveReducer.reducer
Create Store Folder. -->. create index.php
import { configureStore } from '@reduxjs/toolkit';
import { combineReducers } from 'redux';
import { persistReducer } from 'redux-persist';
import { eveReducer } from '../Reducers';
import AsyncStorage from '@react-native-async-storage/async-storage';
const reducers = combineReducers({
eveReducer: eveReducer.reducer,
});
const persistConfig = {
key: 'root',
storage: AsyncStorage,
};
const persistedReducer = persistReducer(persistConfig, reducers);
const store = configureStore({
reducer: persistedReducer,
middleware: getDefaultMiddleware =>
getDefaultMiddleware({
serializableCheck: false,
}),
});
export default store;
Use these to get data in front pages
import { useDispatch, useSelector } from 'react-redux';
import { AuthToken, UserDisclaimer } from '../../Redux/Reducers';
const dispatch = useDispatch()
const selectorDesclaimer = useSelector(state => state.eveReducer?.userDes);
dispatch(AuthToken({ access_token: responseJson.token }))
Comments
Post a Comment