Posts
Q&A
bookId๋ฐ์ดํฐ๋ฅผ input์ผ๋ก ์๋ฒ์ก์ ์ ๋ณด๋์ ๋ ๋จ์
@์ ํธ์ฑ๋ฐฑ์๋ ์๋ฒ ์ธก์์๋ 2์ค์ผ๋ก ๊ถํ ๊ฒ์ฆ์ ์งํํ๋ ์๋์ ๊ฐ์ด bind๋ฅผ ์ฌ์ฉํด์ createReviewAction.bind(null, bookId) ํํ๋ก ๋ณด๋ด๊ฒ ๋๋ฉด ๋ฐ์ดํฐ ์กฐ์์ ๋ฐฉ์งํ์ฌ ๋ณด์์ ์ข ๋ ๊ฐํํ ์ ์์ต๋๋ค.// ReviewEditor.tsx const ReviewEditor = ({ bookId }: ReviewFormProps) => { return ( ๋ฆฌ๋ทฐ ์์ฑ ); }; // createReviewAction.ts export const createReviewAction = async (bookId: number, formData: FormData) => { const content = formData.get("content")?.toString(); const author = formData.get("author")?.toString(); if (!bookId || !content || !author) { return; } return; await createReview({ bookId, content, author }); };
- 0
- 3
- 82
Q&A
input type="hidden"์ผ๋ก ์ค์ ์, ์ค๋ฅ ๋ฏธ๋ฐ์
๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค!
- 0
- 2
- 238
Q&A
ํ์ ์ขํ๊ธฐ ์ง๋ฌธ๋๋ฆฝ๋๋ค.
๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค~!
- 0
- 2
- 139
Q&A
์ปดํฌ๋ํธ ๋ ๋๋ง ์ต์ ํ ๊ด๋ จํด์ ์ง๋ฌธ๋๋ฆฝ๋๋ค.
๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค~!
- 0
- 3
- 189
Q&A
Flex UI ์ค์ ์ ์(7) โ ๋ฐ์ํ ๋ธ๋ก๊ทธ ํฌ์คํธ ๋ฆฌ์คํธ(2)
๊ฐ์ฌํฉ๋๋ค
- 3
- 2
- 239
Q&A
ํ๋ ์ค(Flex) - ์์์์์ ์ฐ๋ ์์ฑ(order)
๊ฐ์ฌํฉ๋๋ค~
- 2
- 2
- 470
Q&A
position: absolute ์ง๋ฌธ๋๋ฆฝ๋๋ค.
๊ฐ์ฌํฉ๋๋ค~ :)
- 2
- 2
- 371
Q&A
์ ์ฒด ๋ ์ด์์ ์์ด์ดํ๋ ์ ํผ๋ธ๋ฆฌ์ฑ(PC) - ์ ์ฒด๋ ์ด์์, ํค๋์์ญ
๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค~
- 1
- 2
- 236
Q&A
๋น๋์ค ๋ฐฑ๊ทธ๋ผ์ด๋๋ฅผ ํ์ฉํ ๋๋ฉํ์ด์ง
๋ต๋ณ ๊ฐ์ฌํฉ๋๋คใ
- 1
- 2
- 233
Q&A
24.Pure CSS ์ฝํ ์ธ ์ฌ๋ผ์ด๋ ํ๋กํ ํ์ 01
๊ฐ์ฌํฉ๋๋ค๐๐
- 10
- 2
- 284