【发布时间】:2018-05-13 03:28:12
【问题描述】:
我是一个 redux 初学者,一直在通过 redux props 来路由渲染问题。
×
TypeError: Cannot read property 'quantity' of undefined
PageLayout._this.render
src/components/controls/PageLayoutRoute/PageLayoutRoute.js:135
132 | to: routes.checkout,
133 | withArrow: true,
134 | bold: true,
> 135 | disabled: (this.props.nonFrameDisplay.quantity == 0 && this.props.frameDisplay.quantity == 0) ? true : false
136 | };
137 | }
138 |
PageLayoutRoute 看起来像这样。
const PageLayoutRoute = ({component: Component, ...rest }) => {
return (
<Route
{...rest}
render={props =>
<PageLayout {...props}>
<Component />
</PageLayout>}
/>
)
};
PageLayoutRoute.propTypes = {
component: PropTypes.func.isRequired,
};
const mapStateToProps = state => ({
nonFrameDisplay: state.app.nonFrameDisplay,
frameDisplay: state.app.frameDisplay,
});
const mapDispatchToProps = {
};
export default withRouter(connect(mapStateToProps, mapDispatchToProps)(PageLayoutRoute));
PageLayout 组件包含在 PageLayoutRout 中。看起来像这样。
class PageLayout extends React.Component {
static propTypes = {
children: PropTypes.node.isRequired,
hideTopNav: PropTypes.bool,
hideBottomNav: PropTypes.bool,
...bottomNavProps
};
static defaultProps = {
hideTopNav: false,
hideBottomNav: false
};
如何使用 react-router-dom 通过 Route 渲染从 redux 商店传递 nonFrameDisplay、FrameDisplay 道具?提前致谢!
【问题讨论】:
-
你的
reducers在哪里
标签: reactjs redux react-redux react-router-v4 react-router-dom