我有一个问题,知道的数据类型的URL,我将从它的API,我正在使用一个定制的钩子,使它可用我正在使用Next.js
与类型脚本
这是一个useFetch.js
(定制挂钩)
"use client"
import { useState } from "react";
type FetchParams = {
url: any
}
async function getData(url: FetchParams) {
try {
const res = await fetch(url.toString())
return res.json()
} catch(error) {
console.log("error", error);
}
}
export default async function useFetch(url: FetchParams) {
const [data, setData] = useState("")
setData(await getData(url))
return { data };
}
这是一个祈祷的组成部分
import useFetch from '@/Hooks/useFetch';
import { useState, useEffect } from 'react';
export default function Pray() {
// Date methods
let date = new Date();
let month = date.getMonth() + 1;
let year = date.getFullYear();
// day equal date - 1
let day = date.getDate()-1;
const [country, setCountry] = useState('eg')
const [city, setCity] = useState('cairo')
const [data, setData] = useState("")
useEffect(() => {
const { data }: any = useFetch(`https://api.aladhan.com/v1/calendarByCity?city=${city}&country=${country}&method=5&month=${month}&year=${year}`)
console.log(data)
}, [data])
return()
}
错误为:
"字符串"类型的参数不能赋值给类型的参数 《FetchParams》.ts(2345)
const { data }: any = useFetch(`https://api.aladhan.com/v1/calendarByCity?city=${city}&country=${country}&method=5&month=${month}&year=${year}`)