Мой редуктор не обновит мое дерево состояний Redux, и я не нашел решение, поэтому я надеялся получить некоторую помощь. Это мой код:Состояние Redux не обновляется
Reducer
import Immutable from 'seamless-immutable'
import { loadFirebaseData } from '../actions/firebaseActions'
const FETCH_FIREBASE_DATA = 'FETCH_FIREBASE_DATA'
const initialState = Immutable({})
export default function firebaseReducer(state = initialState, action) {
switch (action.type) {
case FETCH_FIREBASE_DATA:
return state
.set('firebaseData', fetchData(action))
}
return state
}
function fetchData(action) {
return {
firebaseData: action.firebaseData
}
}
App
class App extends Component {
componentWillMount() {
this.props.fetchFirebaseData('gallery')
}
function mapStateToProps(state) {
console.log('state',state.firebaseReducer)
return {
galleryItems: state.firebaseReducer
}
}
function mapDispatchToProps(dispatch) {
return bindActionCreators(firebaseActions, dispatch)
}
export default connect(mapStateToProps, mapDispatchToProps)(App)
И если бы я выйти из исполнения редуктора:
import Immutable from 'seamless-immutable'
import { loadFirebaseData } from '../actions/firebaseActions'
const FETCH_FIREBASE_DATA = 'FETCH_FIREBASE_DATA'
const initialState = Immutable({})
export default function firebaseReducer(state = initialState, action) {
console.log(1)
switch (action.type) {
case FETCH_FIREBASE_DATA:
console.log(2)
return state
.set('firebaseData', fetchData(action))
}
console.log(3)
console.log('state', state)
return state
}
function fetchData(action) {
return {
firebaseData: action.firebaseData
}
}
Консольные показы:
1
3
state: Object {__immutable_invariants_hold: true}
1
3
Object {__immutable_invariants_hold: true}
Object {__immutable_invariants_hold: true}
1
2
Таким образом, на последнем этапе состояние не обновляется. Любые мысли о том, почему? Спасибо!