Nach meiner Entwicklung mit reactjs und redux dachte ich, dass es besser wäre, mit unveränderlichen.js zu arbeiten, während Redux verwenden.Redux und unveränderliche js, verlor ich meinen Zustand nach dem Versuch, unveränderlich zu verwenden
Aber ... Vielleicht bin ich zurückgeblieben oder man braucht etwas Übung, bevor man es richtig benutzt, alles ist abgestürzt.
Und wenn Sie helfen können zu verstehen, was hier falsch ist, wäre es toll!
So, hier war mein erster Code:
export function posts(state = {
isFetching: true,
didInvalidate: false,
items: []
}, action) {
switch (action.type) {
case INVALIDATE_REQ:
return Object.assign({}, state, {
didInvalidate: true
});
case REQUEST_POSTS:
return Object.assign({}, state, {
isFetching: true,
didInvalidate: false
});
case RECEIVE_POSTS:
return Object.assign({}, state, {
isFetching: false,
didInvalidate: false,
items: action.posts
});
default:
return state;
};
};
, dass ich diese Art und Weise verändert:
const initPostState = Map({
isFetching: true,
didInvalidate: false,
items: []
});
export function posts(state = initPostState, action) {
switch (action.type) {
case INVALIDATE_REQ:
return state.set('didInvalidate', true);
case REQUEST_POSTS:
return state.set({
isFetching: true,
didInvalidate: false
});
case RECEIVE_POSTS:
return state.set({
isFetching: false,
didInvalidate: false,
items: action.posts
});
default:
return state;
};
};
Und mein Behälter MapStateToProps:
function mapStateToProps(state) {
const {
posts: isFetching,
posts
} = state.posts;
console.log(state);
...
Das Problem ist also, wie greife ich auf meine Staaten zu? Die Konsole des Staats berichten, dass:
Ich bin verloren! Hilfe!
Vielen Dank! Es "funktioniert", außer dass ich diesen Fehler habe: 'state.set' ist keine Funktion, aus diesen Zeilen: ' return state.set ({... 'Haben Sie eine Idee? –
Nevermind, as Alle meine state verwenden nicht immutable noch, ich denke, es verloren seine Map status beim rendern einer seite. –