fix: Intro & QGrid 코드 정리 및 구조 변경
This commit is contained in:
parent
fcca20d14f
commit
91277eeca1
@ -4,7 +4,7 @@ import { I18nProviderClient } from '@/locales/client'
|
||||
|
||||
export function LocaleProvider({ locale, children }) {
|
||||
return (
|
||||
<I18nProviderClient locale={locale} fallback={<p>Loading...</p>}>
|
||||
<I18nProviderClient locale={locale} fallback={''}>
|
||||
{children}
|
||||
</I18nProviderClient>
|
||||
)
|
||||
|
||||
@ -1,6 +1,3 @@
|
||||
'use client'
|
||||
|
||||
import Hero from '@/components/Hero'
|
||||
import Intro from '@/components/Intro'
|
||||
|
||||
export default function IntroPage() {
|
||||
|
||||
@ -7,7 +7,9 @@ export default function LocaleLayout({ children }) {
|
||||
const locale = useCurrentLocale()
|
||||
return (
|
||||
<>
|
||||
<LocaleProvider locale={locale}>{children}</LocaleProvider>
|
||||
<LocaleProvider locale={locale} fallback={''}>
|
||||
{children}
|
||||
</LocaleProvider>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
'use client'
|
||||
|
||||
import { useState } from 'react'
|
||||
import { useEffect, useMemo, useState } from 'react'
|
||||
|
||||
import Link from 'next/link'
|
||||
|
||||
import { Button } from '@nextui-org/react'
|
||||
|
||||
@ -25,9 +27,13 @@ export default function Intro() {
|
||||
setDateRange,
|
||||
}
|
||||
|
||||
const gridProps = {
|
||||
// const gridProps = {
|
||||
// isPageable: false,
|
||||
// }
|
||||
const [gridProps, setGridProps] = useState({
|
||||
gridData: [],
|
||||
isPageable: false,
|
||||
}
|
||||
})
|
||||
|
||||
const modelProps = {
|
||||
open,
|
||||
@ -52,8 +58,22 @@ export default function Intro() {
|
||||
</>
|
||||
)
|
||||
|
||||
useEffect(() => {
|
||||
async function fetchData() {
|
||||
const response = await fetch('https://www.ag-grid.com/example-assets/space-mission-data.json')
|
||||
const data = await response.json()
|
||||
setGridProps({ ...gridProps, gridData: data })
|
||||
}
|
||||
fetchData()
|
||||
}, [])
|
||||
|
||||
return (
|
||||
<>
|
||||
<div className="text-2xl">
|
||||
<Link href={'/login'}>
|
||||
<Button color="primary">로그인 페이지로 이동</Button>
|
||||
</Link>
|
||||
</div>
|
||||
<div className="my-2">
|
||||
<div className="text-2xl">Single Date Picker</div>
|
||||
<div>
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
'use client'
|
||||
|
||||
import { useCallback, useEffect, useMemo, useState } from 'react'
|
||||
import { AgGridReact } from 'ag-grid-react'
|
||||
|
||||
@ -5,13 +7,14 @@ import 'ag-grid-community/styles/ag-grid.css'
|
||||
import 'ag-grid-community/styles/ag-theme-quartz.css'
|
||||
|
||||
export default function QGrid(props) {
|
||||
console.log('QGrid props:', props)
|
||||
const { gridData, gridColumns, isPageable = true } = props
|
||||
const [count, setCount] = useState(0)
|
||||
const [clickedCount, setClickedCount] = useState(0)
|
||||
/**
|
||||
* 행 데이터를 설정할 때 useState을 사용하여 렌더링 전반에 걸쳐 일관된 배열 참조를 유지하는 것이 좋습니다
|
||||
*/
|
||||
const [rowData, setRowData] = useState([])
|
||||
const [rowData, setRowData] = useState(null)
|
||||
|
||||
/**
|
||||
* Column Definitions를 설정할 때는 useMemo 또는 useState를 사용하여 렌더 간에 일관된 참조를 유지하십시오.
|
||||
@ -57,12 +60,15 @@ export default function QGrid(props) {
|
||||
|
||||
// Fetch data & update rowData state
|
||||
useEffect(() => {
|
||||
gridData
|
||||
? setRowData(gridData)
|
||||
: fetch('https://www.ag-grid.com/example-assets/space-mission-data.json') // Fetch data from server
|
||||
.then((result) => result.json()) // Convert to JSON
|
||||
.then((rowData) => setRowData(rowData)) // Update state of `rowData`
|
||||
}, [])
|
||||
// async function fetchData() {
|
||||
// const response = await fetch('https://www.ag-grid.com/example-assets/space-mission-data.json')
|
||||
// const data = await response.json()
|
||||
// setRowData(data)
|
||||
// }
|
||||
|
||||
console.log('use effect')
|
||||
gridData ? setRowData(gridData) : ''
|
||||
}, [gridData])
|
||||
|
||||
return (
|
||||
<div
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user