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您还需要知道什么