経験知ロゴ

React Hook FormでcheckboxのグループにsetValueできないときの対処法

※本ページはプロモーションが含まれています

react hook form

React Hook Form 7で複数グループのcheckboxを使っているのですが、DBから取り出した値をsateValueしようとしても何故かセットできない事態が起きました。

原因はsetValueしようとした配列がnumber[]だったこと。

checkBoxのvalueをnumberのidにしていたので、setValueする値もnbumberになっていました。

// ダメ
const value = [ 1, 2, 3 ];
setValue('checkBoxName', value);

// OK
const value = [  '1', '2', '3' ];
setValue('checkBoxName', value);

// number[]をstring[]に
const value = [ 1, 2, 3 ];
const stringValue = value.map((item)=> return item.toString());
setValue('checkBoxName', stringValue);

おわりに

checkboxのグループにはsetValueできないのかと思っていましたが、valueをstringで作った時はsetValueできたので原因に気づけました。

この対処だけで半日使ってしまった…。

役に立ったらこの記事のシェアをお願いします

ブログのフォロー・RSS購読は下記ボタンから