Eroare TypeScript - TS7016 - (TS) Nu a putut fi găsit un fișier de declarație pentru modulul 'redux-localstorage'
Am făcut upgrade la mediul meu la TypeScript 2.4.1 și am setat "strict": true, în fișierul meu tsconfig.json. Îmi place foarte mult verificarea strictă pentru null, e atât de tare, dar mă confrunt cu un zid în cazul lucrurilor cu redux pe care le folosesc. Ceea ce folosesc este modulul ‘redux-localstorage’ instalat prin npm. Este vechi și probabil depășit pentru acest nou compilator TypeScript și funcționa fără probleme. Acum aruncă o eroare, „TS7016 - (TS) Nu s-a putut găsi un fișier de declarație pentru modulul 'redux-localstorage'.
Am găsit un '@types/redux-localstorage' pentru acesta, dar, se pare, a fost făcut pentru o versiune mult mai veche a modulului, cu parametri diferiți față de cei pe care îi am. Așa cum am spus, știu că modulul funcționează, doar că nu funcționează cu aceste verificări stricte de tipuri.
Problema este că apelez modulul dintr-un singur fișier .ts și folosesc doar o funcție. Așadar, în partea de sus a acestui fișier .ts am această declarație de import:
import persistState from 'redux-localstorage';Această declarație a funcționat bine înainte să fac upgrade la versiunea mai nouă de TypeScript și să activez verificarea strictă, dar acum primesc eroarea menționată.
Am două întrebări: știe cineva o soluție rapidă și ușoară? Nu vreau chiar să dezactivez verificarea strictă (presupun că asta cauzează problema). Dar poate există o modalitate de a o dezactiva doar pentru acest fișier?
A doua întrebare este, dacă nu există un „remediu rapid”, pot să scriu pur și simplu propriul meu fișier ‘.d.ts’ pentru acest modul, cu adevărat doar pentru această funcție. Dacă da, poate cineva să îmi ofere indicații despre cum? După cum am spus, am nevoie să creez un tip doar pentru această funcție.
Actualizare - Am rezolvat problema
Am creat acest fișier de tip:
// Type definitions for redux-localstorage persistState, until a better solution becomes available
import * as Redux from "redux";
export interface ConfigRS {
key: string;
merge?: any;
slicer?: any;
serialize: (value: any, replacer?: (key: string, value: any) => any, space?: string | number) => string,
deserialize: (text: string, reviver?: (key: any, value: any) => any) => any
}
export default function persistState(paths: string | string[], config: ConfigRS): Redux.GenericStoreEnhancer;
A trebuit apoi să adaug acest fișier cu numele index.d.ts în directorul node_modules/@types/redux-localstorage
Mulțumesc pentru sugestii....