This repository has been archived on 2025-12-11. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
fullstack-open/part6/redux-anecdotes/src/components/List.js
Andrew Trieu 485c56f8e4 Upload 6.8
2023-06-23 14:20:10 +03:00

30 lines
817 B
JavaScript

import React from 'react'
import { useDispatch, useSelector } from 'react-redux'
import { addVote } from '../reducers/anecdoteReducer'
const List = () => {
const dispatch = useDispatch();
const anecdotes = useSelector((state) => state);
const handleVote = (id) => {
dispatch(addVote(id));
}
return (
<div>
<h2>List of anecdotes</h2>
{anecdotes.map((anecdote) => (
<div key={anecdote.id}>
<div>
<p>"{anecdote.content}"&nbsp;has&nbsp;{anecdote.votes}&nbsp;votes<br />
<button onClick={() => handleVote(anecdote.id)}>Vote</button>
</p>
</div>
</div>
))}
</div>
);
};
export default List;