- 백엔드 아키텍처: 평가 시작 방식 설명 수정 (비동기 → 동기식 평가 후 결과 저장) - 프론트엔드 설정: API 응답 구조 업데이트 (story_scores, summary, investment_opinion 추가) - 페이지 평가 미표시: 런타임 에러 원인 추가 (page_evaluations undefined/null 처리)
2.1 KiB
2.1 KiB
IR Deck 평가 페이지별 내용 표시 안됨
날짜: 2025-12-01
작성자: Auto
관련 파일:
frontend-ir-valuation/src/pages/ir-valuation.tsxrb8001/app/services/ir_deck_analyzer.py
문제 상황
평가 결과에서 종합 점수와 등급은 표시되지만, 페이지별 평가 내용(강점/약점)이 표시되지 않음.
증상:
- "1. 페이지별 잘된 점 / 아쉬운 점" 섹션 제목만 표시
- "아래는 핵심 페이지 중심으로 평가했습니다." 설명만 표시
- 실제 페이지별 평가 내용(페이지 번호, 강점, 약점, 점수) 없음
원인 분석
가능한 원인
- 백엔드 데이터 문제:
page_evaluations배열이 비어 있거나 누락 - 프론트엔드 렌더링 문제:
formatEvaluationResult()함수가 빈 배열 처리 미흡 - 데이터 구조 불일치: 백엔드 응답과 프론트엔드 기대 형식 불일치
- 프론트엔드 런타임 에러:
result.page_evaluations가undefined/null/비배열인 상태에서.map()호출로TypeError발생
확인 필요
- 백엔드 응답에
page_evaluations배열 포함 여부 및 타입 (Array여부) ir-valuation.tsx:335-381의formatEvaluationResult()함수 로직ir-valuation.tsx:220-247의page_evaluations매핑 코드에서 방어적 처리 여부- 참고:
DOCS/journey/troubleshooting/251202_ir_valuation_gateway_timeout_and_frontend_fallback.md
- 참고:
해결 방안
1. 백엔드 응답 확인
/rb8001/api/ir-deck/evaluation/{evaluation_id}응답 구조 확인page_evaluations배열이 실제로 포함되어 있는지 검증
2. 프론트엔드 처리 개선
ir-valuation.tsx:220-247:Array.isArray(result.page_evaluations)로 타입 검증 후 map 수행, 누락/잘못된 타입인 경우 경고 로그만 남기고 빈 배열로 처리ir-valuation.tsx:335-381: 빈 배열일 때 안내 메시지 또는 최소한의 기본 문구 표시
교훈
- 평가 결과 표시 전 백엔드 응답 구조 검증 필수
- 빈 배열/누락 데이터에 대한 폴백 처리 필요
- 사용자에게 명확한 안내 메시지 제공