Ich versuche, einige lokale JSON-Daten mit Redux zu laden und in react app anzuzeigen. Aber ich bekomme die pageId is undefined
im Reducer.Anzeige von JSON-Daten mit Reagieren und Reduzieren
Nicht sicher, was ich hier falsch mache, ich denke, es könnte etwas falsch sein, wie ich die Daten weitergeben, aber ich bin sehr neu zu redux, also bin ich mir nicht sicher.
Daten
const page = [
{"title":"Mollis Condimentum Sem Ridiculus"},
{"title":"Pharetra Tellus Amet Commodo"}
]
export default page;
Aktion
const getPage = (pageId) => {
const page = { pageId: pageId }
return {
type: 'GET_PAGE_SUCCESS',
payload: page
}
}
export default getPage
Reducer
import getPage from '../actions/actionCreators'
import pageData from './../data/pageData';
const defaultState = pageData
const pageReducer = (state = defaultState, action) => {
if (action.type = 'GET_PAGE_SUCCESS') {
state.page[action.payload.pageId].title = action.payload
}
return state
}
export default PageReducer
Komponente
import React, { Component, PropTypes } from 'react'
import { connect } from 'react-redux'
import getpage from '../../actions/actionCreators'
const mapStateToProps = (state, props) => {
const page = state.page[props.pageId]
return { page }
}
class Page extends Component {
componentDidMount() {
this.props.getpage(this.props.pageId)
}
render() {
return (<div><PageContainer pageId={0} /></div>)
}
}
const PageContainer = connect(mapStateToProps, { getpage })(page)
export default Page
Danke, ich gab Ihren Vorschlag, die Komponente zu aktualisieren und immer noch das gleiche Problem zu bekommen. Aufgrund Ihres anderen Kommentars vermute ich, dass ich auch etwas anderes falsch verstanden habe. Lernen ist schwer! – Ash
@Ash, viel Glück! –