Typescript错误类型无法指定状态-usestate

问题描述 投票:0回答:3

我是初次键入脚本,并且我正在尝试使用使用状态钩子和键入脚本将状态设置为react。

const intialState: State ={
    items: [],
    value: "",
    error: null
}

const [data, setData]= useState([intialState]);

return (
    <>
        {
            data.items.map(x) => (
                //my html component to be displayed.
            )
        }
    </>
)

但是我收到以下错误。谁能告诉我。

  1. 像我一样在使用状态内设置对象是否有效?
  2. 为什么会出现打字错误?

enter image description here

reactjs typescript react-hooks typescript-typings typescript2.0
3个回答
0
投票

首先,我们应该检查StateinitialState对象之间是否存在接口不匹配。如果可以发布State的类型定义,则将有帮助。

此外,应为useState钩提供State[]的通用类型参数>

const [data, setData]= useState<State[]>([intialState]);

0
投票

我想这就是您想要实现的目标。确保正确定义州类型,而不是从其他软件包中导入


0
投票

您需要为useState指定类型。由于它是状态对象的数组,因此可以这样写]

© www.soinside.com 2019 - 2024. All rights reserved.