import React, { useEffect } from 'react'; import { Link } from 'react-router-dom'; import { Breadcrumb, BreadcrumbItem, Table, } from 'reactstrap'; import { useAppDispatch, useAppSelector } from '../../../app/hooks'; import { fetchPosts } from '../../../features/posts/postsSlice'; import Widget from '../../../components/Widget'; import s from './PostList.module.scss'; const formatDate = (value) => new Intl.DateTimeFormat('en', { month: 'short', day: 'numeric', year: 'numeric', }).format(new Date(value)); const PostList = () => { const dispatch = useAppDispatch(); const posts = useAppSelector((state) => state.posts.items); const fetchStatus = useAppSelector((state) => state.posts.fetchStatus); useEffect(() => { if (fetchStatus === 'idle' && posts.length === 0) { dispatch(fetchPosts()); } }, [dispatch, fetchStatus, posts.length]); return (
YOU ARE HERE Posts

Posts

Create new
Posts List
)} >
{posts.map((post) => ( ))} {fetchStatus === 'loading' ? ( ) : null}
Title Content Last Updated
{post.title} {post.content.slice(0, 80)}... {formatDate(post.updatedAt)}
Loading...
); }; export default PostList;