gpt4 book ai didi

javascript - 如何创建具有现有类型的所有属性但可选的新流类型

转载 作者:行者123 更新时间:2023-11-29 15:13:40 25 4
gpt4 key购买 nike

我有一个 State 类型,其中所有字段都是必需的:

type State = {
title: string,
items: [],
isActive: boolean,
};

我需要创建一个所有属性都与 State 相同但不是必需的新类型:

type StateUpdater = {
title?: string,
items?: [],
isActive?: boolean,
};

// ({title: 'hello'}: State) — INVALID
// ({title: 'hello'}: StateUpdater) — OK

我怎样才能像下面的 Flow 伪代码一样实现它?

type StateUpdater = State.mapKeyValue(() => typeKey?: typeValue)

最佳答案

您可以使用 $Shape效用:

type State = {
title: string,
items: [],
isActive: boolean,
};

type StateUpdater = $Shape<State>;

$Shape Copies the shape of the type supplied, but marks every field optional.

关于javascript - 如何创建具有现有类型的所有属性但可选的新流类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51728602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com