React Typescript将本地json分配给useState

React Typescript将本地json分配给useState,json,reactjs,typescript,webpack,Json,Reactjs,Typescript,Webpack,我有一个data.json文件,我通过执行import*从'./data/data.json'导入数据来导入该文件 在我的App函数中,我正在执行const[jobsObject,setJobsObject]=useState([]) 要把它添加到我的状态中,我正在做 useEffect(() => { setJobsObject(data); }, []); 我在js中看到了完全相同的代码。我得到的是Typescript Error,它表示类型为“({“id”:

我有一个
data.json
文件,我通过执行
import*从'./data/data.json'导入数据来导入该文件

在我的
App
函数中,我正在执行
const[jobsObject,setJobsObject]=useState([])

要把它添加到我的状态中,我正在做

useEffect(() => {
        setJobsObject(data);
    }, []);
我在js中看到了完全相同的代码。我得到的是
Typescript Error
,它表示类型为“({“id”:number;“company”:string;”的
参数[许多描述此对象内容的行为简洁起见]不可分配给类型“never”。


有人知道如何让它工作吗?

最简单的解决方法是断言无论
数据
有什么类型,也都是
作业对象
的预期类型。所以说
const data:DataType
在哪里

type DataType = {
  id: number;
  company: string;
};
然后你要分配

const [jobsObject, setJobsObject] = useState<DataType | undefined>(undefined);
const[jobsObject,setJobsObject]=useState(未定义);

由于缺乏进一步的信息,我添加了
未定义的
,当您缺少状态变量的初始值时,这是一种合理的模式。我注意到您更喜欢将其定义为数组,因为
数据
似乎是这里的一个对象,这是需要解决的主要问题。如果您实际上有
数据
作为ar类型为
DataType
的对象数组,您可以通过
DataType[]
将其作为数组来扩展类型定义。

我们需要更多信息。您的代码有任何类型定义吗?这将有助于调试类型错误。@JakeWorth不是真的,没有。我只是真正开始了。@Rajesh lmk您还需要知道什么