如何使用 Typescript 和 useState 将类型对象设置为 React 的初始值?

Berg_Durden

我刚刚开始学习使用 Typescript 构建 React 应用程序,此时我真的被困住了。

我将 a 设置为type状态的模型,但出现此错误:

在此处输入图片说明

这就是我正在做的:

type TAssetsOverview = {
    totalAssets: number,
    assetsInOperation: number,
    assetsInAlert: number,
    assetsInDowntime: number
}

const AssetsOverview: React.FC = () => {
    const [overview, setOverview] = React.useState<TAssetsOverview>({})
    return (
        <div>
            <AssetsList assets={assets} />
        </div>
    )
}

export default AssetsOverview

我想要做的是设置overview为基于type TAssetsOverview.

我尝试在对象中设置值,如下所示:

const [overview, setOverview] = React.useState<TAssetsOverview>({
        totalAssets, 
        assetsInOperation, 
        assetsInAlert, 
        assetsInDowntime
    })

但我收到此错误:

在此处输入图片说明

如果我删除type TAssetsOverview并设置useState<{}>({})它可以正常工作,但我想这不是应该的。

从我看来,它看起来与我阅读的所有教程和文章完全一样,但由于我是新手,我看不到这里缺少什么。

我该如何设置?

您需要一个必须对应于的默认值TAssetsOverview

在您的情况下,由于变量是数字,0如果这有助于您的事业,您可以将其设置为默认值

type TAssetsOverview = {
    totalAssets: number,
    assetsInOperation: number,
    assetsInAlert: number,
    assetsInDowntime: number
}

const AssetsOverview: React.FC = () => {
    const [overview, setOverview] = React.useState<TAssetsOverview>({
    totalAssets: 0,
    assetsInOperation: 0,
    assetsInAlert: 0,
    assetsInDowntime: 0
})
    return (
        <div>
            <AssetsList assets={assets} />
        </div>
    )
}

export default AssetsOverview

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用TypeScript在useState React Hook上设置类型

如何在MySQL中设置初始值和自动递增?

如何设置NSUserDefault密钥的初始值?

如何使用React和TypeScript设置Electron?

Typescript和React使用空类型数组设置初始状态

如何设置对象键的初始值?

useState React钩子总是返回初始值

React TypeScript:使用useRef设置输入的初始值

如何使用useState钩子和Typescript初始化状态

何时使用useState初始值作为函数?

useState挂钩-状态丢失,即重置为初始值

如何设置formArray的初始值?

useState初始值不直接使用该值

如何设置UISlider和UISwitch的初始值?

如何设置只读字段的初始值

返回类型和初始值

如何在react中设置初始值?

使用 Redux 表单 React 选择设置初始值

React - useState 未设置初始值

关于使用对象初始值设定项进行向上转换、继承和设置属性的概念

如何使用 Axios 和 Typescript 将初始值设置为 Formik

如何使用 Redux 商店中的 useState 钩子设置初始值?

在 React 中使用 useState 钩子获取对象的初始值

如何在 React.createRef() 方法上设置初始值?

如何在 useState() 中将函数作为对象的初始值传递?

如何使用TypeScript中React useState中的新值更新数组中对象中键的值

在 React 中使用自定义钩子时,如何为文本输入设置初始值?

如何为 Formik 和 Yup 创建的 Form 设置初始值

如何将扫描的初始值设置为列表?