この記事の最終更新日: 2023年3月20日
TypeScriptで、以下のエラーが発生した際の解決法を紹介します。
TS2345: Argument of type 'string | null' is not assignable to parameter of type 'string'. Type 'null' is not assignable to type 'string'.
このエラーは、JSON.parse()
メソッドに渡された引数が string
型でないということを示しています。このエラーを修正するには、取得したデータが null
の場合には何もしない、または別の値を代入するように条件分岐を追加することが必要です。
例えば、以下のように if
文を使って条件分岐することができます:
const reportSelectedLineNumberIdList = localStorage.getItem(memberId + 'ReportSelectedLineNumberIdList');
if (reportSelectedLineNumberIdList) {
reportSelectedLineNumberIdList = JSON.parse(reportSelectedLineNumberIdList);
} else {
reportSelectedLineNumberIdList = [];
}
この例では、localStorage.getItem()
メソッドから取得したデータが存在する場合には、JSON.parse()
メソッドを使って変換されます。そうでない場合には、空の配列が代入されます。

大阪のエンジニアが書いているブログ。
コメント