ΠΠ°ΡΡΡΠ΅Π½ Π²Π°ΠΆΠ½ΡΠΉ ΠΏΠ°ΡΡΠ΅ΡΠ½ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠΠ, Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΡΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ Π½Π΅ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ΅Π΄Π°Π²Π½ΠΎ Π±ΡΠ»ΠΎ Π²Π½Π΅ΡΠ΅Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΡΠ»ΠΎΠΌΠ°ΡΡ ΡΠ°Π±Π»ΠΎΠ½, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·ΡΠ²Π°Π» Π»ΠΈΡΡ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ: ΡΠ΅Ρ
, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡ Π΄ΡΡΠ³ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ applyMiddleware
.
ΠΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ:
// Make state aware of browser media queries
const mediaQueries = (mediaQueries = defaultMediaQueries): Middleware => store => {
if (typeof window !== 'undefined') {
const reverseMap = createReverseMap(mediaQueries)
const handleMediaChange = ({media, matches}: MediaChangedActionPayload) =>
store.dispatch(mediaChanged(reverseMap[media], matches))
const addMatchListener = (media: string) => {
const match = window.matchMedia(media)
match.addListener(handleMediaChange)
return match.matches
}
values(mediaQueries).forEach(media =>
handleMediaChange({media, matches: addMatchListener(media)}))
}
return next => (action: any) => next(action)
}
ΠΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
// Make state aware of user adblockers
const adBlockDetection: Middleware = store => {
if (typeof document !== 'undefined' && !document.getElementById('XMpADSwgbPUC')) {
store.dispatch({type: AD_BLOCKER_DETECTED, payload: true})
}
return next => (action: any) => next(action)
}
ΠΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
// Make state aware of socket connectivity and allow synchronisation of actions
const socketMiddleware = ({actionCreator, url, dataSync}) => store => {
const socket = new WebSocket(url.replace(/(http|https)/, 'ws'))
socket.addEventListener('message', ({data}) => {
store.dispatch(JSON.parse(data))
})
socket.addEventListener('open', () => {
socket.send(syncCreator(CONNECT_TO_DOMAIN, store.getState(), null, socket))
store.dispatch(actionCreator({connected: true}))
})
socket.addEventListener('close', reason => {
store.dispatch(actionCreator({connected: false}))
})
return next => action => {
if (dataSync.hasOwnProperty(action.type)) {
socket.send(syncCreator(action.type, store.getState(), action.payload, socket))
}
return next(action)
}
}
ΠΠ°ΠΊΠΎΠ²ΠΎ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅?
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ applyMiddleware
, ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π°ΡΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
Uncaught Error: Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch
Π Π΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π·Π°ΠΊΡΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ next =>
(ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅) Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (Π½ΠΎ, ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΆΠΈΠ·Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ).
// Still broken:
const mediaQueries = (mediaQueries = defaultMediaQueries): Middleware => store => next => {
// ...middlewareCodeGoesHere...
return (action: any) => next(action)
}
ΠΠ°ΠΊΠΎΠ΅ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅?
ΠΠ΅ Π»ΠΎΠΌΠ°ΠΉΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ Ρ ΠΌΠΎΠ³ Π΅Π³ΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² 100% ΠΌΠΎΠΈΡ ΡΠ»ΡΡΠ°Π΅Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ _ ΠΌΠ΅Π½Ρ Π½Π΅ Π²ΠΎΠ»Π½ΡΠ΅Ρ, ΡΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ Π΄ΡΡΠ³ΠΎΠ΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ΅ ΠΠ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡΡ ΠΎΡΠΏΡΠ°Π²ΠΊΡ_. Π― ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π²Π°Ρ, ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ (ΠΈΠ»ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ) ΠΎΡΠ΅Π½Ρ ΠΌΠ°Π»ΠΎ Π·Π°ΠΊΠΎΠ½Π½ΡΡ ΠΏΡΠΈΡΠΈΠ½, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ Π»ΡΠ±Π°Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ Π»ΡΠ±ΡΠΌ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π² ΡΡΠ΅ΠΊΠ΅, ΠΈ Π΅ΡΠ»ΠΈ Π±Ρ ΡΡΠΎ Π±ΡΠ»ΠΎ ΡΠ°ΠΊ, Ρ Π±Ρ ΠΏΠΎΠ΄ΡΠΌΠ°Π», ΡΡΠΎ Π·Π°ΠΏΠ°Ρ ΠΊΠΎΠ΄Π° (ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π½Π΅ΡΠ²Π½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΠΎΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ).
ΠΠ°ΠΊΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ Redux, ΠΊΠ°ΠΊΠΎΠΉ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΈ ΠΠ‘ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅?
Π Π°Π±ΠΎΡΠ°Π» Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΠΏΠΈΠ°ΡΠ° .
ΠΡΠΎΡΠ΅ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π±ΡΠ» ΡΠ²Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Π² 4.0 Π² ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΌ Π²Π°ΠΌΠΈ PR. ΠΡΠΎ Π±ΡΠ»ΠΎ ΠΏΡΠ΅Π΄Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ΅ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΡΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠΈΠ·Π²Π°Π½Π½ΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ β 1240.
Π― Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΡΠΎΠΌΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π»ΠΎΠ³ΠΈΠΊΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠΆΠ΄Π°ΡΡΡΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ Π²ΡΡΡΠ½ΡΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Β«ΠΌΠ°Π³Π°Π·ΠΈΠ½ Π³ΠΎΡΠΎΠ²Β». ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΎΡΡΠ°ΡΡΡΡ Ρ 3.x.
@markerikson ΠΠ°, Ρ Π²ΠΈΠ΄Π΅Π» ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠ»ΡΡΠ΅Π²Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΡΠΎΡΡΡ Β«ΡΠ΅ΡΠ°Π΅ΡΒ» Π½ΠΎΠ²ΡΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½, Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ:
ΠΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°: ΡΡΠΎΡ ΡΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΠ΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠ·ΠΎΠ² store.dispatch Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΡ Π±Π΅Π· ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΠΈ Π½Π°ΡΠ΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ Π½Π΅ ΡΠ²ΠΈΠ΄ΠΈΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ .
ΠΡΠΎ IMO, Π΄Π΅ΡΠ°Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π° Π½Π΅ ΡΠΎ, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ _ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ_. Π‘ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΠ΄Π°ΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
Π ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π²ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΠΎΡΠΎΠ½Π½Π΅Π΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠΎΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΠ°Π±Π»ΠΎΠ½ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ (Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π²ΡΠ΅, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΡΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΡΠ΅ΠΌ-Π»ΠΈΠ±ΠΎ), Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΎΡΡΠ°Π²Π°ΡΡΡΡ Ρ 3.x Π΄Π»Ρ Π½Π°Ρ Π½Π΅ Π²Π°ΡΠΈΠ°Π½Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Typescript, ΠΈ ΡΠΎΠ»ΡΠΊΠΎ 4.x ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ, ΠΈ Π² ΡΠ΅Π»ΠΎΠΌ ΠΌΡ Π½Π΅ Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ Π·Π°ΡΠΈΠΊΠ»ΠΈΠ²Π°ΡΡΡΡ Π½Π° ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ Π½Π°ΡΠ΅Π³ΠΎ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π½Π°Π±ΠΎΡ ΡΠ΅ΠΊΡΡΠ° Π½Π΅ Π±ΡΠ» ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.
Π, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, Π΄Π°ΠΆΠ΅ ΡΠ°ΠΌΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π½Π°ΠΌΠ΅ΠΊΠ°Π΅Ρ Π½Π° ΡΠΎ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅Π²Π°ΠΆΠ½ΠΎ: Β«ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Β» Π² ΡΠΎΠΌ, ΡΡΠΎ Other middleware would not be applied to this dispatch
, ΡΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ΅Π΄ΠΊΠΎ, ΠΈ Π΄ΠΎ ΡΠΈΡ
ΠΏΠΎΡ Π±ΡΠ»ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ΅ ΠΠ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ Π·Π°Π²ΠΈΡΠ΅Π»ΠΎ ΠΎΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ
ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡΠΎΠΌ.
ΠΠ°ΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Β«ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅Β» Π² redux ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ Π½Π°ΡΡΡΠ°Π΅Ρ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΠ» ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ . ΠΡΠΎ Π½Π°ΡΡΡΠ°Π΅Ρ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡΠ°. Π’Π΅ΠΏΠ΅ΡΡ Π°Π²ΡΠΎΡΠ°ΠΌ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ (ΠΈ Π²ΡΠ΅Π³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ) Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΡΡΡΠΈΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠ΅ Ρ 4.x Π²Π΅ΡΡΠΈΠΈ ΡΠ²ΠΎΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡ Π΄Π΅ΡΠ°Π»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ Π²ΡΡΡΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Β«ΠΠΎΡΠΎΠ²ΠΎ ΠΊ Ρ ΡΠ°Π½Π΅Π½ΠΈΡΒ», ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈ Π²ΡΡΠ°Π²ΠΊΠΈ Π² ΠΌΠ°ΡΡΠΈΠ² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ ΠΎΡ Π°Π²ΡΠΎΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π°ΠΉΡΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Ρ Π°ΠΊΠ΅ΡΡΠΊΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Β«Π³ΠΎΡΠΎΠ²ΠΎ ΠΊ Ρ ΡΠ°Π½Π΅Π½ΠΈΡΒ» ΡΠ΅ΡΠ΅Π· Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, Π½ΠΎ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½. Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΠ‘Π ΠΈΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ΅ ΠΠ Π΄ΠΎΠ»ΠΆΠ½ΠΎ, ΠΌΡ Π½Π°Π΄Π΅Π΅ΠΌΡΡ, ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠΈΠΏΠ° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π°Π²ΡΠΎΡΠ°ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, Β«Π³ΠΎΡΠΎΠ²ΡΡ ΠΊ Ρ ΡΠ°Π½Π΅Π½ΠΈΡΒ», Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ Π»ΡΠ±ΠΎΠΌΡ API, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΌΡ Π°Π²ΡΠΎΡΠ°ΠΌΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΠ.
ΠΡΠΎ Π½Π°ΡΡΠΎΡΡΠΈΠΉ Π±Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΠΊ, ΠΈ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Β«Π»Π΅ΠΊΠ°ΡΡΡΠ²ΠΎΒ» ΡΠ²Π½ΠΎ Ρ ΡΠΆΠ΅, ΡΠ΅ΠΌ Β«Π±ΠΎΠ»Π΅Π·Π½ΡΒ».
ΠΡΠ΅ Π΅ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π²Π°ΡΠΈΡ
ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ². ΠΡΠΎΡΡΠΎ ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΏΠΎΡΠ»Π΅ applyMiddleware. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ setupMiddleware(store)
ΠΈΠ»ΠΈ Π² ΡΡΠΈΠ»ΠΈΡΠ΅Π»Π΅ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°.
ΠΡΠΈΠ±ΠΊΠ° Π±ΡΠ»Π° Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎ Π²Π²Π΅Π΄Π΅Π½Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ ΠΊΡΠ°ΠΉΠ½ΠΈΠΌ ΡΠ»ΡΡΠ°Π΅ΠΌ, ΠΈΠΌΠ΅ΡΡΠΈΠΌ ΠΎΡΠ΅Π½Ρ Π½Π΅ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ (Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ applyMiddleware
). Redux ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠΎ Π½ΠΈΠΊΡΠ΄Π° Π½Π΅ Π΄Π΅Π½Π΅ΡΡΡ.
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ΅ ΠΠ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π° ΡΠΎΠ±ΡΡΠΈΠ΅ afterApply
. Π’ΠΎΠ³Π΄Π° Π²Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ²Π°Ρ Π² Π½ΡΠΆΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΎ ΠΈ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΡΠ»ΠΎ Π±Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
@markerikson ΠΠ°, Ρ Π²ΠΈΠ΄Π΅Π» ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠ»ΡΡΠ΅Π²Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΡΠΎΡΡΡ Β«ΡΠ΅ΡΠ°Π΅ΡΒ» Π½ΠΎΠ²ΡΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½, Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ:
ΠΡΠΎ IMO, Π΄Π΅ΡΠ°Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π° Π½Π΅ ΡΠΎ, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ _ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ_. Π‘ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΠ΄Π°ΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
Π ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π²ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΠΎΡΠΎΠ½Π½Π΅Π΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠΎΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΠ°Π±Π»ΠΎΠ½ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ (Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π²ΡΠ΅, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΡΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΡΠ΅ΠΌ-Π»ΠΈΠ±ΠΎ), Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΎΡΡΠ°Π²Π°ΡΡΡΡ Ρ 3.x Π΄Π»Ρ Π½Π°Ρ Π½Π΅ Π²Π°ΡΠΈΠ°Π½Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Typescript, ΠΈ ΡΠΎΠ»ΡΠΊΠΎ 4.x ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ, ΠΈ Π² ΡΠ΅Π»ΠΎΠΌ ΠΌΡ Π½Π΅ Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ Π·Π°ΡΠΈΠΊΠ»ΠΈΠ²Π°ΡΡΡΡ Π½Π° ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ Π½Π°ΡΠ΅Π³ΠΎ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π½Π°Π±ΠΎΡ ΡΠ΅ΠΊΡΡΠ° Π½Π΅ Π±ΡΠ» ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.
Π, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, Π΄Π°ΠΆΠ΅ ΡΠ°ΠΌΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π½Π°ΠΌΠ΅ΠΊΠ°Π΅Ρ Π½Π° ΡΠΎ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅Π²Π°ΠΆΠ½ΠΎ: Β«ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Β» Π² ΡΠΎΠΌ, ΡΡΠΎ
Other middleware would not be applied to this dispatch
, ΡΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ΅Π΄ΠΊΠΎ, ΠΈ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ Π±ΡΠ»ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ΅ ΠΠ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ Π·Π°Π²ΠΈΡΠ΅Π»ΠΎ ΠΎΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡΠΎΠΌ.ΠΠ°ΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Β«ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅Β» Π² redux ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ Π½Π°ΡΡΡΠ°Π΅Ρ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΠ» ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ . ΠΡΠΎ Π½Π°ΡΡΡΠ°Π΅Ρ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡΠ°. Π’Π΅ΠΏΠ΅ΡΡ Π°Π²ΡΠΎΡΠ°ΠΌ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ (ΠΈ Π²ΡΠ΅Π³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ) Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΡΡΡΠΈΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠ΅ Ρ 4.x Π²Π΅ΡΡΠΈΠΈ ΡΠ²ΠΎΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡ Π΄Π΅ΡΠ°Π»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ Π²ΡΡΡΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Β«ΠΠΎΡΠΎΠ²ΠΎ ΠΊ Ρ ΡΠ°Π½Π΅Π½ΠΈΡΒ», ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈ Π²ΡΡΠ°Π²ΠΊΠΈ Π² ΠΌΠ°ΡΡΠΈΠ² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ ΠΎΡ Π°Π²ΡΠΎΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π°ΠΉΡΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Ρ Π°ΠΊΠ΅ΡΡΠΊΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Β«Π³ΠΎΡΠΎΠ²ΠΎ ΠΊ Ρ ΡΠ°Π½Π΅Π½ΠΈΡΒ» ΡΠ΅ΡΠ΅Π· Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, Π½ΠΎ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½. Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΠ‘Π ΠΈΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ΅ ΠΠ Π΄ΠΎΠ»ΠΆΠ½ΠΎ, ΠΌΡ Π½Π°Π΄Π΅Π΅ΠΌΡΡ, ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠΈΠΏΠ° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π°Π²ΡΠΎΡΠ°ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, Β«Π³ΠΎΡΠΎΠ²ΡΡ ΠΊ Ρ ΡΠ°Π½Π΅Π½ΠΈΡΒ», Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ Π»ΡΠ±ΠΎΠΌΡ API, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΌΡ Π°Π²ΡΠΎΡΠ°ΠΌΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΠ.
ΠΡΠΎ Π½Π°ΡΡΠΎΡΡΠΈΠΉ Π±Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΠΊ, ΠΈ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Β«Π»Π΅ΠΊΠ°ΡΡΡΠ²ΠΎΒ» ΡΠ²Π½ΠΎ Ρ ΡΠΆΠ΅, ΡΠ΅ΠΌ Β«Π±ΠΎΠ»Π΅Π·Π½ΡΒ».