Penggunaan dasar
Membuat folder Hooks > Zustand > store.jsx

lalu membuat isi store.jsx nya
berikut contoh file store.jsx :
import { create } from 'zustand';
const companyItem = localStorage.getItem('currentCompany');
const pojectItem = localStorage.getItem('currentProject');
const useUserStore = create((set) => ({
isLoggedIn: false,
isLoading: false,
companies: [],
projects: [],
currentCompany: companyItem || '',
currentProject: pojectItem || '',
profileKey: '',
uid: '',
name: '',
email: '',
currentXenditId: '',
roleCompany: '',
roleProject: '',
authFirebaseToken : '',
users: [],
accessToken: '',
anggaranData: {},
anggaranId:'',
userType: 'user',
accountingData:{},
expired:true,
role: {},
setUid: (data) => {
set({
uid: data,
});
},
setName: (data) => {
set({
name: data,
});
},
setEmail: (data) => {
set({
email: data,
});
},
setIsLoggedIn: (data) => {
set({
isLoggedIn: data,
});
},
setIsLoading: (data) => {
set({
isLoading: data,
});
},
setCompanies: (data) => {
set({
companies: data,
});
},
setCurrentCompany: (data) => {
set({
currentCompany: data,
});
},
setProjects: (data) => {
set({
projects: data,
});
},
setCurrentProject: (data) => {
set({
currentProject: data,
});
},
setRoleCompany: (data) => {
set({
roleCompany: data,
});
},
setRoleProject: (data) => {
set({
roleProject: data,
});
},
setCurrentXenditId: (data) => {
set({
currentXenditId: data,
});
},
setUsers: (data) => {
set({
users: data,
});
},
setAccessToken: (data) => {
set({
accessToken: data,
});
},
setAnggaranData: (data) => {
set({
anggaranData:data,
});
},
setAccountingData: (data) => {
set({
accountingData:data,
});
},
setAnggaranId: (data) => {
set({
anggaranId:data,
});
},
setAuthFirebaseToken: (data) => {
set({
authFirebaseToken:data,
});
},
setExpired:(data) => {
set({
expired:data
})
},
setUserType:(data) => {
set({
userType:data
})
},
setRole:(data) => {
set({
role:data
})
}
}));
export default useUserStore;*hapus state yang tidak di perlukan
Last updated