I've struggled this weekend trying to learn Redux. I've spent hours watching a very slow paced walk through that has brought lots of insight to the work I did last week. I've gotten pure components working with no problem but really that's just React and React is easy.
I've been getting a weird error that I can't figure out.
warning.js:44Warning: Failed propType: Required prop `cardState` was not specified in `CardContainer`. Check the render method of `Connect(CardContainer)`.
Basically, my state that I set up in the reducer isn't making it to my container.
I've added it to my root reducer.
import { combineReducers } from 'redux';
import { routerReducer as routing } from 'react-router-redux';
import { cardReducer } from './card.reducer';
export default combineReducers({
routing,
cardState: cardReducer,
});
I've set it up as a required propType
CardContainer.propTypes = {
cardState: PropTypes.object.isRequired,
cardActions: PropTypes.object.isRequired,
};
And mapped it to my state.
function mapStateToProps(state) {
return {
cardState: state.cardState,
};
}
I've followed a pattern that worked on Friday last week so I know I'm just missing some key step or concept but after a weekend of research and trying to get it to work I just can't figure out what I'm doing wrong.
Beyond the obvious struggle I'm having with redux, I'm also struggling to be patient. I need to remember that I can't learn everything in a weekend. But I can learn it. Just because I'm bad at something now doesn't mean I will always be bad at that thing.
They say the Redux learning curve is steep but once you get it everything pretty simple. I feel like I'm super close to the top of that curve. Just need to to give it a bit more time.
Tomorrow I intend to provide a followup with the answer to the question I have tonight.