Closed a2311kk closed 2 months ago
SubmissionCard を未分類エリアにドロップすると、grade と rank が null に設定される
grade と rank が undefined に設定される
原因は以下のコード。over.id が 'has-not-grade' であるとき、grade と rank が初期値 null のままになる。
let grade: AssessmentGradeOfFrontend | null = null let rank: AssessmentRankOfFrontend | null = null if (over && active.id !== over?.id) { const newItems = report.items.map((item) => { if (item.student.numId === active.id) { if (over.id !== 'has-not-grade') { let [newGrade, newRank] = (over.id as string).split(':') newRank = newRank === '' ? undefined : newRank grade = Number(newGrade) as AssessmentGradeOfFrontend rank = newRank as AssessmentRankOfFrontend } return { ...item, assessment: { grade: grade, rank: rank, }, } }
修正方法としては、over.id === 'has-not-grade' である場合に grade と rank を undefined にすれば良さそう。
if (over.id === 'has-not-grade') { return { ...item, assessment: { grade: undefined, rank: undefined, }, } }
その場合、以下の部分を undefined との比較かつ厳密等価に修正でき、そうした方が良いかもしれない。
const notHasAssessmentItem = report.items .filter((item) => item.student.numId !== draggingSubmissionId) .filter((item) => item.assessment.grade == null) const hasAssessmentItem = report.items .filter((item) => item.student.numId !== draggingSubmissionId) .filter((item) => item.assessment.grade != null)
原因と対応方法まで特定できたので、私の方で対応しようかと思います。
@a2311kk よろしくお願いします!
バグの説明
SubmissionCard を未分類エリアにドロップすると、grade と rank が null に設定される
バグの再現手順
期待される動作
grade と rank が undefined に設定される
スクリーンショット
追加のコンテキスト
原因は以下のコード。over.id が 'has-not-grade' であるとき、grade と rank が初期値 null のままになる。
修正方法としては、over.id === 'has-not-grade' である場合に grade と rank を undefined にすれば良さそう。
その場合、以下の部分を undefined との比較かつ厳密等価に修正でき、そうした方が良いかもしれない。