【发布时间】:2019-09-05 02:04:55
【问题描述】:
class EventEdit extends Component {
constructor(props) {
super(props);
const { skillsets, events } = this.props;
this.state = {
skillsets : skillsets,
events : events
}
}
componentWillMount(){
this.props.getSkillset();
this.props.getEvent();
}
componentWillReceiveProps(props){
this.setState({
skillsets : props.skillsets,
events : props.events,
})
}
render() {
console.log(this.state.events) //it returns the object perfectly
console.log(this.state.events.title) //it says cannot read title of undefine
)
}
}
const mapStateToProps = (state, ownProps) => {
let id = ownProps.match.params.event_id;
return {
skillsets: state.skillset.skillsets,
events: state.event.events.find(event => event._id === id)
}
}
const mapDispatchToProps = dispatch => {
return {
getSkillset: () => { dispatch(getSkillset()) },
getEvent: () => { dispatch(getEvent()) },
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
所以,我成功地使用 action redux 从 API 获取数据列表并将其显示在我的组件中。 然后我想编辑数组数据的一项,我得到 id 并过滤它。 实际上每个属性都显示在控制台中,但我无法在 jsx 中显示每个属性
【问题讨论】:
-
请分享代码而不是快照
-
props.events在这种情况下必须是undefined
标签: javascript reactjs react-redux redux-thunk web-frontend