** Updatemeinen Kopf Schwierigkeiten Umwickeln mit Redux Staaten Mit Reagieren
ich das Reduktions aktualisiert haben zu sein:
const initialState = {
step: 1,
indibiz: "individual",
firstName:"first",
lastName: "last",
email: "email",
choice: "null",
emailNews: "no",
dob: "1",
mobileNumber: "1234567890",
island: "St. Lucia",
industry: "Astronaut",
Skill: "Space Monkey",
createClick: false
}
export default function (state = initialState, action) {
switch (action.type) {
case "SELECT_BUSINESS":
console.log(state);
return { ...state, indibiz: action.payloadEvent }
break;
}
return state;
}
Jetzt in meinem console.log folgende ich sehe, dass es die Protokollierung ist das Objekt aus dem Ausgangszustand. Aber wenn ich versuche und protokolliere die folgenden in der gleichen Komponente: {console.log (this.props.selectindibusi.indibiz)} Dann gibt es undefined zurück. Soll es nicht den initialValue haben, der im Reducer eingestellt ist?
** Update über
Ich reagiere bin mit und zur Zeit Redux versuchen zu lernen und es in einem Projekt verwenden zu verwenden, ich tue. Das Problem ist, dass ich fühle, dass ich Reduzierer nicht vollständig verstehe. Unter meinem Reduktionsindex ist:
import {combineReducers} from 'redux';
import signupState from './reducer-signup.js';
import TestReducer from './testalertreducer.js';
import Selectindibusi from './reducer-select_indy_biz.js';
const allReducers = combineReducers({
signupState: signupState,
selectindibusi: Selectindibusi,
});
In meinem signupState Minderer habe ich:
export default function() {
return ({
step: 1,
indibiz: "individual",
firstName:"first",
lastName: "last",
email: "email",
choice: "null",
emailNews: "no",
dob: "1",
mobileNumber: "1234567890",
island: "St. Lucia",
industry: "Astronaut",
Skill: "Space Monkey",
createClick: false
});
}
Unterhalb der Aktion ist:
export function selectindibusi(signupState, event) {
const SELECT_BUSINESS = "random string";
console.log(signupState);
return {
type: "SELECT_BUSINESS",
payloadState: signupState,
payloadEvent: event.target.value
};
}
Und unten ist die Minderer, der für diese Aktion hört :
export default function (state = [], action) {
switch (action.type) {
case "SELECT_BUSINESS":
console.log(state);
return { ...state, indibiz: action.payloadEvent }
break;
}
return state;
}
Ich bin caling diese Aktion in einer onChange Aktion auf einem Drop-Down, die wie folgt aussieht: kann ich
<select className="formSelector100" onChange={this.props.selectindibusi.bind(this,this.props.signupState)}>
<option value="individual">Individual</option>
<option value="business">Business</option>
</select></label>
In der Aktion übergeben die Daten ConsoleLog werden. Das Problem besteht darin, dass die Daten im SignupState Reducer nicht aktualisiert werden oder ein neues Objekt erstellt wird, auf das ich zugreifen kann.
Auf meiner Komponente, wenn ich versuche, {this.props.signupState.indibiz} anzuzeigen, ist der Wert der gleiche wie der Standardwert im Reducer, er wird nicht aktualisiert. Ich fühle mich als würde ich hier etwas Grundlegendes vermissen und ich würde jede Hilfe zu schätzen wissen.
wird 'console.log (state);' tatsächlich in Ihrem Reduzierer ausgelöst, wenn Sie onChange durchführen? – finalfreq
Ja, unten ist die Antwort: reducer-select_indy_biz.js: 15 [] Länge: 0__proto__: Array [0] – futuregerald
@Leigh danke ich selbst habe versucht, die Frage zu beantworten. Ich konnte das Snippet wegen der Formatierung nicht verstehen. werde versuchen, vorsichtig zu sein –