redux - swallow - tale of us remix
“Error: Error: Error: Error: No puede llamar a store.getState() mientras se está ejecutando el reductor.” 🤔 (9)
Es un problema con la nueva versión v2.16.0 de redux-devtools-extension .
Aquí hay un par de soluciones mientras esperamos la solución ...
-
Vuelva a la versión de trabajo v2.15.5 ( para Chrome )
- Descargue https://github.com/zalmoxisus/redux-devtools-extension/releases/download/2.15.5/extension.zip
- Extraer la cremallera
-
Escriba
chrome://extensions
en la url y active eldeveloper mode
en latop right
de la página. -
Load Unpacked
botónLoad Unpacked
. Después de hacer clic en el botón, seleccione la carpeta extraída.
-
O simplemente deshabilite su extensión redux-devtool por ahora.
- ya sea en el nivel del navegador oa través de su código (donde crea la tienda de redux)
FYI : esto no resuelve la pregunta del OP, pero resuelve el problema donde los desarrolladores reciben el siguiente mensaje de error que comienza el 27/11/18.
Error: You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.
ACTUALIZAR
v2.16.2 ha sido released
Para aquellos que previamente habían deshabilitado la extensión, simplemente vuelva a habilitarla y Actualice sus herramientas de desarrollo de redux de 2.16.0 a 2.16.2.
Acabo de actualizar mi aplicación nativa react totalmente funcional para redux v4, pero ahora me aparece el siguiente error:
Error: Error: Error: Error: No puede llamar a store.getState () mientras se está ejecutando el reductor. El reductor ya ha recibido el estado como argumento. Pásalo desde el reductor superior en lugar de leerlo desde la tienda.
Sospecho que el problema es que tengo numerosos componentes dentro de otros, cada uno con su propia
connect(mapStateToProps, mapDispatchToProps)(Component)
y supongo que esta no es la forma correcta de implementarlo, aunque no estoy seguro de la forma correcta de hacerlo. eso.
Cualquier dirección es muy apreciada!
Traza de la pila:
This error is located at:
in Connect(SideBarApp) (at SceneView.js:9)
in SceneView (at createTabNavigator.js:10)
in RCTView (at View.js:43)
in RCTView (at View.js:43)
in ResourceSavingScene (at createBottomTabNavigator.js:86)
in RCTView (at View.js:43)
in RCTView (at View.js:43)
in TabNavigationView (at createTabNavigator.js:127)
in NavigationView (at createNavigator.js:59)
in Navigator (at createNavigationContainer.js:376)
in NavigationContainer (at SceneView.js:9)
in SceneView (at SwitchView.js:12)
in SwitchView (at createNavigator.js:59)
in Navigator (at createNavigationContainer.js:376)
in NavigationContainer (at AppNavigator.js:36)
in App (created by Connect(App))
in Connect(App) (at index.ios.js:23)
in Provider (at index.ios.js:22)
in TheNewsApp (at renderApplication.js:32)
in RCTView (at View.js:43)
in RCTView (at View.js:43)
in AppContainer (at renderApplication.js:31)
This error is located at:
in NavigationContainer (at SceneView.js:9)
in SceneView (at SwitchView.js:12)
in SwitchView (at createNavigator.js:59)
in Navigator (at createNavigationContainer.js:376)
in NavigationContainer (at AppNavigator.js:36)
in App (created by Connect(App))
in Connect(App) (at index.ios.js:23)
in Provider (at index.ios.js:22)
in TheNewsApp (at renderApplication.js:32)
in RCTView (at View.js:43)
in RCTView (at View.js:43)
in AppContainer (at renderApplication.js:31)
This error is located at:
in NavigationContainer (at AppNavigator.js:36)
in App (created by Connect(App))
in Connect(App) (at index.ios.js:23)
in Provider (at index.ios.js:22)
in TheNewsApp (at renderApplication.js:32)
in RCTView (at View.js:43)
in RCTView (at View.js:43)
in AppContainer (at renderApplication.js:31)
getState@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:79579:24
runComponentSelector@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:78896:56
initSelector@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:79019:28
Connect(SideBarApp)@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:78969:29
constructClassInstance@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:20826:32
updateClassComponent@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:22393:35
performUnitOfWork@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:24922:27
workLoop@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:24955:47
renderRoot@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:24988:21
performWorkOnRoot@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:25549:23
performWork@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:25481:30
performSyncWork@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:25456:20
requestWork@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:25362:26
scheduleWork@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:25224:28
enqueueSetState@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:20681:23
setState@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:2380:37
dispatch@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:80901:27
navigate@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:80517:24
nav@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:80470:44
combination@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:79810:38
dispatch@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:79628:38
setLoginStatus@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:112247:19
http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:112199:44
tryCallOne@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:8818:16
http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:8919:27
_callTimer@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:8162:17
_callImmediatesPass@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:8198:19
callImmediates@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:8417:33
__callImmediates@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:7741:32
http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:7580:34
__guard@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:7721:15
flushedQueue@http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:7579:21
flushedQueue@[native code]
invokeCallbackAndReturnFlushedQueue@[native code]
Debería ser arreglado ahora. Actualice sus herramientas de desarrollo de redux de 2.16.0 a 2.16.1
https://github.com/zalmoxisus/redux-devtools-extension/issues/588#issuecomment-442396540
Deshabilitar la extensión de Chrome o eliminar
composeWithDevTool
de tu código funcionará como una solución rápida.
Pero todos sabemos que necesitamos la extensión para rastrear el estado de nuestra aplicación y administrarla adecuadamente.
Así que creé un problema hoy, por favor, espero que alguien del equipo redux nos contacte.
O si está buscando una solución temporal (para Chrome), puede descargar https://github.com/zalmoxisus/redux-devtools-extension/releases/download/2.15.5/extension.zip y luego extraerlo a algunos carpeta.
Escriba chrome: // extensions y active el modo desarrollador desde la parte superior izquierda y luego haga clic en Cargar desempaquetado y seleccione la carpeta extraída para usar.
En mi caso, el problema no estaba relacionado con la extensión dev. Encontré este error mientras trabajaba con la vinculación profunda: estaba actualizando la consulta de ruta dentro del reductor. La lógica de ajuste relacionada con la manipulación de url dentro de settimeout corrigió el error.
En mi caso, tengo que eliminar composeWithDevTools - un complemento para Chrome
import { createStore, combineReducers, applyMiddleware } from ''redux'';
import { composeWithDevTools } from ''redux-devtools-extension'';
import thunk from ''redux-thunk'';
// const enhancer = composeWithDevTools(applyMiddleware(thunk))
const enhancer = applyMiddleware(thunk)
const store = createStore(reducers, enhancer);
En mi proyecto. Este problema acaba de aparecer de la nada un día.
Mi solución: Deshabilitar la extensión de Chrome - Redux Devtools. Entonces todo vuelve a la normalidad.
Entonces, con este tipo de error, debe probar en varios navegadores para encontrar el problema.
Esto es lo que hice: solo comenté la línea para Chrome Redux Devtools Extension desde mi archivo store.js.
....
const store = createStore(
rootReducer,
initialState,
compose(
applyMiddleware(...middleware)
///This line--> window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
)
);
....
Y el problema apenas comienza hace una hora. Como todos sabemos, la extensión es muy útil durante el desarrollo, así que esperemos la solución real de las autoridades.
Tuve el mismo error con una compilación PWA con polímero 3. La tienda.js también intentó usar las herramientas de desarrollo de redux que tuve que desactivar:
...
// Sets up a Chrome extension for time travel debugging.
// See https://github.com/zalmoxisus/redux-devtools-extension for more information.
//const devCompose = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
const devCompose = compose;
// Initializes the Redux store with a lazyReducerEnhancer (so that you can
// lazily add reducers after the store has been created) and redux-thunk (so
// that you can dispatch async actions). See the "Redux and state management"
// section of the wiki for more details:
// https://github.com/Polymer/pwa-starter-kit/wiki/4.-Redux-and-state-management
export const store = createStore(
state => state,
devCompose(
lazyReducerEnhancer(combineReducers),
applyMiddleware(thunk))
);
...
Solución que me funcione
Deshabilita la extensión Chrome de las herramientas de Redux Dev o eliminar el registrador de su código.
actualización : Actualice sus herramientas de desarrollo de redux de 2.16.0 a 2.16.1 Actualice las herramientas de desarrollo de Dev .