【发布时间】:2017-01-04 05:05:44
【问题描述】:
我是 react 和 redux 的新手。我试图通过反应路由器发送一个参数,并在一个组件中接收它,该组件负责管理减速器和操作以保持和更新状态。这是我的课程,我的问题发生在那里:
import React from "react";
import {connect} from "react-redux";
import {getStoriesAction2} from '../../actions/StoryBoardAction2';
import {StoryBoard} from '../composers/story-board/StoryBoard';
class StoryBoardStateManager2 extends React.Component {
render() {
return (
<div>
<StoryBoard storyId={this.props.params.id} stories={this.props.stories2} getStories={()=> this.props.getStories2()}/>
</div>
);
}
}
const mapStateToProps = (state) => {
return {
stories2: state.storyBoardReducer2
};
};
const mapDispatchToProps = (dispatch) => {
return {
getStories2:() => {
dispatch(getStoriesAction2());
}
};
};
export default connect(mapStateToProps, mapDispatchToProps) (StoryBoardStateManager2);
在上面的 storyId={this.props.params.id} 正在获取通过路由器发送的参数,它工作得很好,但我需要将此 id 作为参数发送给这个函数:getStoriesAction2 所以我需要更改函数到以下:
getStoriesAction2(this.props.params.id)
添加上述参数后,我得到以下错误:
Uncaught TypeError: Cannot read property 'props' of undefined
这基本上是说无法读取未定义的参数。那么如何将 this.props.params.id 传递给上述函数呢?谁能帮忙找出我的问题在哪里?
【问题讨论】:
标签: javascript reactjs redux react-router react-redux