Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- pm2 시작
- AntDesign
- Replication
- setInterval 외부 정지
- allow_anonymouse
- 공인IP
- setInterval 중지
- DataGridView 직접 입력
- invalid data
- DatePicker
- pm2 확인
- datagridview 직접입력
- 서버동기화
- pm2 상태 확인
- c# datagridview 데이터 넣기
- listener 1883
- mosquitto.conf
- map이 undefined가 뜰 때
- setInterval 정지
- 맥 어드레스
- mosquitto
- html #select #option #multiple
- timepicker
- transfer
- setInterval clear
- pm2
- mySQL_Replication
- 1883
- 데이터테이블 데이터 넣기
- pm2 설치
Archives
- Today
- Total
개발 노트
Next.js에서 mysql2 연결하기 (net error 해결기) 본문
net error는 왜 발생하는 것인가?!
서버사이드 렌더링을 해야하는데 클라이언트단에서 렌더링을 시도할 때 발생!!
-> 서버사이드 렌더링으로 코드를 수정해야 한다!!
api통신으로 해결하는 방법으로 수정
1.db 연결하기
// src/lib/db.ts
import mysql from 'mysql2/promise';
const database = mysql.createPool({
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_DATABASE,
port: 3306,
});
export default database;
2. api page만들기
import {NextResponse} from 'next/server';
import database from '@/app/lib/db';
export async function GET() {
try {
const db = await database.getConnection()
const query = 'select * from dw_animals'
const rows = await db.execute(query)
db.release()
return NextResponse.json(rows)
} catch (error) {
return NextResponse.json({
error: error
}, { status: 500 })
}
}
3. 클라이언트단에서 확인하기
import { useEffect, useState } from 'react';
import Loading from '../Loading';
const Issue:React.FC =()=>{
const [data, setData] = useState(null);
useEffect(() => {
fetch('/api')
.then(response => response.json())
.then(data => {
console.log(data);
setData(data);
});
}, []);
if (!data) {
return <Loading />;
}
return(
{/* 생략 */}
)
}
export default Issue;
값이 정상적으로 출력되는것을 알 수 있다!!
'React' 카테고리의 다른 글
필터기능 구현 (0) | 2024.03.18 |
---|---|
자료구조 변경 비교 (0) | 2024.03.13 |
mqtt연결 시 connected반복 에러 (0) | 2024.02.28 |
정렬기능 보완 (0) | 2024.02.27 |
정렬버튼 추가하기 (0) | 2024.02.26 |