InfraHub
29 строк · 966.0 Байт
1import { useState, useEffect } from 'react'
2import { PostEditor } from './PostEditor'
3import { PostList } from './PostList'
4
5export function Posts() {
6const [posts, setPosts] = useState([])
7
8useEffect(() => {
9// Здесь мы будем загружать посты с бэкенда
10// Например:
11// fetch('/api/posts').then(res => res.json()).then(setPosts)
12}, [])
13
14const handleNewPost = (newPost) => {
15// Здесь мы будем отправлять новый пост на бэкенд и обновлять список постов
16// Например:
17// fetch('/api/posts', { method: 'POST', body: JSON.stringify(newPost) })
18// .then(res => res.json())
19// .then(post => setPosts([post, ...posts]))
20}
21
22return (
23<div>
24<h2 className="text-2xl font-bold mb-4">Посты и новости</h2>
25<PostEditor onSubmit={handleNewPost} />
26<PostList posts={posts} />
27</div>
28)
29}