Ar ais chuig an Bhlag
Blag

STOP ag úsáid Redux go dall!

Mar 9, 2023·4 min read·Palomi Jain
#Front End Development#React#React Query#Redux#Web Development
STOP ag úsáid Redux go dall!

STOP ag úsáid Redux go dall!

Mar dheveloper leisciúil — ní raibh mé i ngrá leis. Bhraitheas go raibh an default state agus context i bhfad níos fearr. Bhí an iomarca boilerplate i Redux agus an separation of concerns, cé go raibh sé bailí, d'fhéadfaí a bhaint amach go furasta trí custom hook a úsáid. Bhraitheas go raibh redux-saga ina dhualgas gan ghá a bheith ann freisin.

Ach bhí mé ag tosú ar mo ghairmréim — mar sin shíl mé go bhfadfainn deis dhó. Bhain mé úsáid as redux agus redux-saga ar feadh thart ar bhliain. Agus ní raibh ann ach síneadh ar mo dhiúltú dó. Bhí mé i gcónaí ag fiafraí — cén fáth go bhfuilimid ag úsáid redux, agus thug mo sheanóirí freagraí dom ar nós —

  1. Déanann sé an cód níos inbhraistinte
  2. Scarann sé an loighic ghnó ó loighic na gcomhpháirte
  3. Is iomrá go dtabharfá nó úsáid a bhaint as useState do chineálacha casta sonraí (ar nós réada nó eagráin d'réada)
  4. Is féidir le redux-saga níos mó rialaithe a thabhairt duit ar staid an API
  5. D'fhéadfá context a úsáid, ach cé mhéad soláthraí comhthéacs a bhraistínn tú do do app?

Do gach ceann díobh seo, bhí freagraí agam, ach ní raibh siad an-thúisceanacha. I mean, redux a bhí i redux — úsáidte ag milliúin dhevelopers agus cuideachtaí mhóra — agus ní raibh ionam ach innealtóir bogearraí sóisearach le frustrachas ar bhoilerplate.

Anois, tar éis dom a bheith ag obair mar Cheannfort Foirne, is féidir liom a rá go muiníneach, bhí mo sheanóirí ar fad mícheart — agus aontódh siad liom. Is é mo chúis don alt seo a scríobh ná go bhfuil go leor cuideachtaí ann fós inniu a úsáideann redux agus a glacann leis mar chaighdeán dall. Caithfimid stad agus féachaint ar na roghanna eile atá againn!

Chun tús a chur leis, déanaimis an fhadhb atá agam le redux a thuiscint níos soiléire. Seo an méid cóid a rachadh ag teastáil uainn a scríobh ar staid shimplí comhaireamh ag úsáid redux. Ar ndóigh, ní hé seo ach sampla — ní léiríonn sé fíor-fheidhmchlár, ach tá sé an-éifeachtach.

// src/actionConstants.js

const ACTION_CONSTANTS = {

INCREMENT_COUNT: "INCREMENT_COUNT",

DECREMENT_COUNT: "DECREMENT_COUNT",

RESET_COUNT: "RESET_COUNT"

}
// src/store/countStore/reducer.js const initialState = { count: 0 } export const countReducer = (state = initialState, action) => { switch (action.type){ case ACTION_CONSTANTS.INCREMENT_COUNT: return { count: state.count + 1 }; case ACTION_CONSTANTS.DECREMENT_COUNT: return { count: state.count - 1 }; case ACTION_CONSTANTS.RESET_COUNT: return initialState; } } // src/store/countStore/selectors.js export const useCountReducer = () => { return useSelector(store => store.countReducer) } // src/store/countStore/actions.js export const incrementCount = () => ({ type: ACTION_CONSTANTS.INCREMENT_COUNT }) export const decrementCount = () => ({ type: ACTION_CONSTANTS.DECREMENT_COUNT }) export const resetCount = () => ({ type: ACTION_CONSTANTS.RESET_COUNT }) // src/store/index.js const rootReducer = combineReducers({ countReducer: countReducer, ... });

Nach é an rud is cúngearchéime é? Ní thugann sé seo isteach an cód atá ag dul isteach i do saga nó thunk nuair atá tú ag idirghníomhú leis an backend — ní ann ach do athróg stata in úsáid choiteann — comhaireamh. Samhlaigh an méid trioblóide atá ar fáil agat chun athrú beag ar an loighic a dhéanamh — ag foluain ó chomhad go comhad agus a chinntiú go bhfuil na hathruithe sin comhsheasmhach ar fud na gcomhad.

Is stór domhanda Redux a bheidh ann. Ba bhhaol é a úsáid chun an staid a roinnt ar fud na gcomhpháirte ar fad i do app. Ach an fhadhb ná, nuair a thosóidh cuideachtaí ag úsáid redux, bíonn siad i ndan a stóráil a bhfad staid API (ar féidir a bheith riachtanach a roinnt amach sa todhchaí) ag úsáid redux. Bíonn ciall ann do thionscadal ar a bhfuil go leor daoine ag obair — agus ba bhá duit bheith agatsa bealach amháin comhsheasmhach ar scríobh cód. Mar sin féin, méadaítear ar fhad an chóid agus laghdaítear a bhainteachtas go trom.

Cé gur thug siad isteach redux-toolkit agus is dócha go dhéanann sé foluain ar an chód beagáinín — níor bhraistfeá riamh go leor leabharlanna eile ann a chabhraíonn leis an jab a dhéanamh i bhfad níos fearr. Seo an stack go-to a úsáideann muid ag My Next Developer:

React-Query: Úsáidim react-query chun gach staid API a bhainistiú i mo apps. Bainistíonn sé go hinmheánach ag lódáil, earráidí agus stáit soiléire do gach glaoch API, cuimhním ar thorthaí chun athfhiosrúchán a sheachaint agus déanann sé i bhfad níos éasca an sonraí a rochtain ar fud na gcomhpháirte iolracha. Uirlis bhreá atá ann — a luaithe is a úsáideann tú í, gheallim nach bhfillfidh tú. Déanann doiciméadú simplí agus cur i bhfeidhm bunaithe ar fhocláir é an-gheal. Seo Impleofaí React Query do Thosaitheoirí a bheith ann ag Codevolution chun react-query a fhoghlaim.

Comhthéacs: Tá go leor cásanna ann nach bhfuil staid dhomhanda neamh-API-bhunaithe ag teastáil a roinnt ar fud na gcomhpháirte iolracha. Sna cásanna beaga sin, is é an comhthéacs an duine is éasca a chur i bhfeidhm. Ní chuireann sé leabharlann eile go dearúd isteach sa mheascán ach an oiread.

An bhfuil easaontas agat? Ba bhreá liom do thuairimí a chloisteáil!