В части доставки токена useSWR есть ошибка типа

#javascript #reactjs #react-hooks #react-router

Вопрос:

Эта ошибка возникает после обновления машинописного текста и ввода строгого типа.

 

    const token = 'aaa'
    const fetchWithToken = (url: string, token: string) => 
    axios.get(url, {
            headers: {
                Authorization: `Bearer ${token}`,
            },
            withCredentials: true 
        })
        .then(result => result.data);

 const { data: ProductDetail } = useSWR<ProductInfo>([`/goods?lim=8`, token], fetchWithToken, {
        dedupingInterval: 1000000,
    }) 
 

После объявления типа ProductInfo я помещаю функции token и fetchWithToken в api.

но ([ /goods?lim=8 , токен], fetchWithToken, { дедупингИнтервал: 1000000, }) Вот ошибка с красным подчеркиванием.

 Argument of type '[string[], (url: string, token: string) => Promise<unknown>, { dedupingInterval: number; }]' is not assignable to parameter of type 'readonly [Key] | readonly [Key, Fetcher<ProductInfo> | null] | readonly [Key, Partial<PublicConfiguration<ProductInfo, any, Fetcher<ProductInfo>>> | undefined] | readonly [...]'.
  Type '[string[], (url: string, token: string) => Promise<unknown>, { dedupingInterval: number; }]' is not assignable to type 'readonly [Key, Fetcher<ProductInfo> | null, Partial<PublicConfiguration<ProductInfo, any, Fetcher<ProductInfo>>> | undefined]'.
    Type at position 1 in source is not compatible with type at position 1 in target.
      Type 'Promise<unknown>' is not assignable to type 'ProductInfo | Promise<ProductInfo>'.
        Type 'Promise<unknown>' is not assignable to type 'Promise<ProductInfo>'.
          Type 'unknown' is not assignable to type 'ProductInfo'.ts(2345)

 

Я не смог решить эту проблему, поэтому я попытался удалить тип ProductInfo, но ProductDetail не
Он выводится в виде неизвестного значения.

как я могу это решить? Я не знаю.