Nur neu zu Reagieren. Ich denke, es ist eine grundlegende Frage, aber ich kann nicht, warum die Minderer nicht gefeuert bekommt oder den Zustand aktualisieren:Fehler in redux beim Ausführen einer Aktion: Uncaught type error: kann Eigenschaft 'type' von undefined nicht lesen
Mein HomeView.js:
....
const { localeChange, counter, locale } = this.props
return (
<div>
<button onClick={() => increment(7)}>Increment</button>
<input type='text' value = {counter}/>
.....
</div>
)
const mapStateToProps = (state) => ({
locale: state.locale,
counter: state.counter
})
export default connect(mapStateToProps, {localeChange, increment})(HomeView)
Meine Minderer (konstant, Action und Minderer die gleiche Datei):
export const COUNTER_INCREMENT = 'COUNTER_INCREMENT'
export function increment (text) {
return { type: COUNTER_INCREMENT, text }
}
export default function counterIncrement (state = 0, action) {
switch (action.type) {
case 'INCREMENT':
return state + action.text
default:
return state
}
}
Und schließlich meine "Eltern" Minderer:
import { combineReducers } from 'redux'
import { routeReducer as router } from 'react-router-redux'
import locale from './modules/locale'
import counter from './modules/counter'
export default combineReducers({
locale,
router,
counter
})
Was ich verstehen:
In meinem Zustand habe ich ein Feld namens counter (es ist dort mit redux dev tools). Wenn ich auf die Schaltfläche klicken I Schritt Aktion versenden, also sollte ich wirklich eine Aktion wie diese Versandfertig: {type: COUNTER_INCREMENT, Text: 7}
jedoch counterIncrement Funktion (Druckminderer) erhält Aktion als undefined: Uncaught type error: cannot read property 'type' of undefined
. Irgendwie könnte ich das richtig debuggen? Ich setze einen Breakpoint in den Reducer CounterIncrement, werde aber nicht gefeuert.
Uppps, ja. Es war nicht in dem Code, den ich hochgeladen habe, aber ich schrieb Import-Inkrement anstelle von Import {Inkrement} – user2670996