You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
910 B
37 lines
910 B
import React from 'react';
|
|
import { connect } from 'react-redux';
|
|
import store from '../store.js';
|
|
|
|
class CommentsList extends React.Component {
|
|
render(){
|
|
return <ul>
|
|
{this.props.comments.map((comment, index) =>
|
|
<li key={index}>{comment}</li>
|
|
)}
|
|
</ul>
|
|
|
|
}
|
|
componentDidMount(){
|
|
fetch('https://stupidcomments.herokuapp.com/comments').then(function(response){
|
|
response.json().then(function(data){
|
|
let commentsArray = data.map(function(comment){
|
|
return comment.body
|
|
});
|
|
store.dispatch({type:'SET', comments:commentsArray});
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
const mapStateToProps = function(state){
|
|
return {
|
|
comments: state
|
|
}
|
|
}
|
|
|
|
const VisibleCommentsList = connect(
|
|
mapStateToProps
|
|
)(CommentsList);
|
|
|
|
export default VisibleCommentsList;
|