๋ฐ์ํ
๋ง์ฝ ๋ด๊ฐ
(AllContext.jsx) ํ์ผ์ ์๋
๊ณต์ง์ฌํญ ์ ์ ๋ชฉ, ์ฐ๋๋ฅผ ๊ฐ์ ธ์ค๊ณ ์ถ๋ค๊ณ ๊ฐ์ ํ๋ฉด ์๋์ ๊ฐ์ ์ฝ๋์ด๋ค
| Main.jsx
import React, { useContext, useState } from "react"; //useContext ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ์ํ ์ฝ๋
import { Link } from 'react-router-dom'; //์ด๊ฑด ๋งํฌ๋ฅผ ๋ฌ๊ธฐ์ํ์ฝ๋ (a href๊ฐ์ ์ฝ๋)
import AllContext from './AllContext'; // context๊ฐ ์๋ ํ์ผ์ ๊ฐ์ ธ์ค๋ ์ฝ๋
function Main() {
return(
<div>
<p className={styles.num_text}>
์ด <span>{noticeData.length}</span>๊ฑด
// ๋ช ๊ฑด์ธ์ง contextํ์ผ์์ ๊ฐฏ์๋ก .length๋ฅผ ์ฌ์ฉํด ํ๊ธฐ
</p>
{noticeData.map((item) => (
<Link to='/NoticeInner'>
<div key={item.id} className={styles.text_index}>
<p className={styles.text_le}>{item.title}</p>
<p className={styles.text_ri}>{item.date}</p>
</div></Link>
))}
</div>
)
};
export default Main;
| AllContext .jsx
import React, { createContext, useState} from "react";
// ๊ณต์ง์ฌํญ ์ ๋ณด
const NoticeData = [
{
id: 1,
title: '๊ฐ๊ณก๊ณผ ์๋ฆฌ์์ ๋ฐค ๋ถ์ฐ์์ ํ๊ด ๊ณต์ฐ์ฅ ์
์ฅ๊ณต์ง',
date: '24๋
7์ 10์ผ',
},
{
id: 2,
title: 'BMPO์ ํจ๊ปํ๋ ์ถ์ต์ ์ํ์์
๋ถ์ฐ๋ฌธํํ๊ด ์ค๊ทน์ฅ ์
์ฅ๊ณต์ง',
date: '24๋
6์ 10์ผ',
},
{
id: 3,
title: '์ 18ํ ๋ถ์ฐ๊ตญ์ ์ด๋ฆฐ์ด์ฒญ์๋
์ํ์ ์ ๋๋ฉ์ด์
์์
ํ ์ํ์ ์ ๋น ํ๋์ฐ๊ทน์ฅ ์
์ฅ๊ณต์ง',
date: '24๋
5์ 10์ผ',
},
]
const AllContext = createContext();
const AllContext = createContext();
export const AllContextProvider = ({children}) => {
// ๊ณต์ง์ฌํญ ๋ฐ์ดํฐ ์ ์ฅ
const [noticeData, setNoticeData] = useState(NoticeData); // noticeData ์ํ ์ถ๊ฐ
const [noticeDataSlice, setnoticeDataSlice] = useState(noticeData.slice(0, 2)); //2๊ฐ๋ง ์๋ผ์ ์ ์ฅ๋ ๊ฐ๋ฅ
return (
<AllContextProvider.Provider value={{noticeData, noticeDataSlice}}>
{children}
</AllContextProvider.Provider>
)
};
export default AllContextProvider;

๋ฐ์ํ
'๐ฉ Frontend-HTML & CSS & +JS > ๐ฐ React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฆฌ์กํธ ์์ด์ฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฐ๊ธฐ (๋ถํธ์คํธ๋ฉ/yarn/npm) (1) | 2024.12.31 |
---|---|
๋ฆฌ์กํธ์ ์คํ์ผ ์ฌ๋ฌ๊ฐ ์ฃผ๊ธฐ (classNames ๋ผ์ด๋ธ๋ฌ๋ฆฌ) (1) | 2024.12.29 |
๋ฆฌ์กํธ์ swiper ์ฐ๋ ์์ (dom ๋ฒ์ ์ค๋ฅํด๊ฒฐ๋ฒ) (React swiper) (1) | 2024.12.27 |
Codepen ์์ React ์คํํ๊ธฐ (0) | 2024.12.22 |
React ํฐ๋ฏธ๋ warning ๋ฉ์ธ์ง ์์ ๊ธฐ (0) | 2024.12.22 |