fullofomg
@fullofomg
Reviews Written
2
Average Rating
5.0
Posts
Q&A
๋ก๊ทธ์ธ ๋ก๊ทธ์์ ๊ด๋ จ ์๋ก๊ณ ์นจ ์ด์
์ผ๋จ ๋น๋๊ธฐ state ์ฒ๋ฆฌ์ ๊ด๋ จํ์ฌhttps://blog.logrocket.com/understanding-react-useeffect-cleanup-function/์ ์ฐธ๊ณ ํด์ useEffect์ cleanup ํจ์๋ฅผ ์จ๋ณด์๋๋ ํด๋น ๋ฌธ์ ๊ฐ ์ฌ๋ผ์ก์ต๋๋ค.๊ทธ๋ฆฌ๊ณ ์ ๊ฐ ์ต์ด state ๊ฐ์ด ๋น ๋ฐฐ์ด์ธ ๊ฒฝ์ฐ์ด๋ค๊ณณ์ useState({ }) ๋ค๋ฅธ๊ณณ์ useState([ ])์ด๋ ๊ฒ ํด๋จ๋๋ฐ ์ฐจ์ด๊ฐ ๋ฌด์์ธ๊ฐ์,Listํ์ด์ง์ ๊ฒฝ์ฐ map ์ผ๋ก ๋ฟ๋ ค์ฃผ๋๋ฐuseState({ }) ๋ก ํ๋ฉด ์ค๋ฅ๊ฐ ๋๋๋ผ๊ตฌ์
- 1
- 6
- 1.3K
Q&A
๋ก๊ทธ์ธ ๋ก๊ทธ์์ ๊ด๋ จ ์๋ก๊ณ ์นจ ์ด์
๊ทผ๋ฐ ๊ฐ์ฅ ์ต์ด์ ๋ก๊ทธ์ธ ํ์ ๋ฉ๋ด๋ฅผ ๋๋ฌ์ ๋ค๋ฅธ ํ์ด์ง๋ก ์ด๋ํ๋ฉด ๋ฐ๋์ ์๋์ ๊ฒฝ๊ณ ๊ฐ ๋น๋๋ค. ์ต์ด ๋ก๊ทธ์ธ ํ ๊ฐ์ฅ ์ฒ์ ๋ค๋ฅธํ์ด์ง๋ก ์ด๋ํ ๋ ๋ฑ ํ๋ฒ๋จ๊ณ ๊ทธ๋ค์๋ถํฐ๋ ์๋ ์ react_devtools_backend.js:3973 Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in a useEffect cleanup function. at Login (http://localhost:3000/static/js/bundle.js:917:76)๋ง์ํด์ฃผ์ ๊ฒ์ฒ๋ผ useEffect ๋ด์์ unmount ๋ฌธ์ ๋ฅผ ํ์ธํ๊ณ ์ ์๋์ฒ๋ผ๋ ํด๋ณด์์ง๋ง ์ฌ์ ํ ๋์ผํ ์ค๋ฅ๊ฐ ๋ ์ ์ด์ฐํด์ผํ ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค ใ import React, { useState, useEffect, useRef } from "react"; import axios from "axios"; import { Link } from "react-router-dom"; const PostList = () => { const componentMounted = useRef(true); const [posts, setPosts] = useState([]); const [loading, setLoading] = useState(false); useEffect(() => { setLoading(true); if (componentMounted.current) { loadDetail() } return () => { componentMounted.current = false; } }, []); function loadDetail() { axios .post("/api/post/list") .then((response) => { setPosts([...response.data.postList]); setLoading(false); }) .catch((err) => { console.log(err); }); } return ( div> h1>Postsh1> div> {loading ? div>h1>Loadingh1>div> : posts.map((postItem, id) => { return ( div key={id}> Link to={`/post/${postItem.postNum}`}> h1>{postItem.title}h1> p>{postItem.author.displayName}p> p>{postItem.content}p> Link> div> ); })} div> div> ); }; export default PostList;
- 1
- 6
- 1.3K
Q&A
๋ก๊ทธ์ธ ๋ก๊ทธ์์ ๊ด๋ จ ์๋ก๊ณ ์นจ ์ด์
useEffect ์ postInfo ๋ฅผ ์ฃผ๋ ๋ฌดํ ๋ฆฌ๋ ๋๊ฐ ๋์ด์ ์ผ๋จ ๋ค์ ์์ด์ต๋๋ค... ํฌํํ๊ฒ๋ Detail ์ปดํฌ๋ํธ์ ์ ์ฆ์ดํํธ์์ ์กฐ๊ฑด๋ฌธ์ ๋นผ์ฃผ๋๊น ๋ค์ ์๋ก๊ณ ์นจ ์ด์๊ฐ ์ฌ๋ผ์ง๊ณ ์ ์์๋์ ํ๊ฒ๋์ต๋๋ค. ์๋๋ response.data.success ๊ฐ ํธ๋ฃจ์ธ์ง ์๋์ง ๋ณด๋ ์กฐ๊ฑด๋ฌธ์ ๋ฃ์ด๋จ์๋๋ฐ ๊ทธ๊ฑธ ๋นผ๋ฒ๋ฆฌ๋ ์๋ํ๋๊ตฐ์....์ด์ ๋ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. useEffect(() => { axios.post('/api/post/detail', params).then((response) => { console.log(response.data.postInfo) setPostInfos(response.data.postInfo) setFlag(true) }).catch((err) => { console.log(err); }) }, [])
- 1
- 6
- 1.3K
Q&A
user์ athor ์ ๋ณด ์๋ฒ ์์ ํ ํฌ์คํ 400 ์ค๋ฅ ใ
์ ํ๋ค์ ์๋ ์ฃ์กํฉ๋๋ค. ์ ๊ฐ ์๋ฒ์์ .exec()์ ์๊พธ .exac() ์ด๋ผ๊ณ ์คํ๋ฅผ ์ณค์๋ค์ ใ ๊น๋ํ ํด๊ฒฐํ์ต๋๋ค
- 2
- 1
- 403
Q&A
Post ์ฑํฐ Read (1) ๊ฐ์์์ axios ์๋์๋ ๋ถ๋ค ์ ๋ณด ๊ณต์ ํฉ๋๋ค
dhk.... ์ ์ด๊ฒ๋๋ฌธ์ ์ดํ์ ํ๋นํ์ต๋๋ค..์ฝ๋ ์ ์ด์๋ค.ใด...!! ์ด์ฉd. ์ด์ฉ์ง collation ์ด ๋ญ์ง ์๋ฌด๋ฆฌ ์ฐพ์๋ด๋ ๊ด๋ จ์ด ์๋ ๋ด์ฉ๋ง ๋์๋๋ฐ collection์ด์๊ตฐ์
- 7
- 4
- 414




