【发布时间】:2021-10-11 17:58:33
【问题描述】:
我正在尝试根据传递给钩子的其余参数来解构 React 上下文。
假设我正在传递一个枚举数组,并且只想返回传递给钩子的那些。
这是我的接口上下文类型
enum ConfigItem {
SomeItem = 'SomeItem',
AnotherItem = 'AnotherItem',
}
type Config = Record<ConfigItem, boolean>;
type ConfigState = {
config: Config;
}
还有钩子本身
const useConfig = (...configArgs: ConfigItem) => {
const configContext = useContext(ConfigContext);
const { config } = configContext;
const { ...configArgs } = config; // Duplicate identifier 'configArgs'.
return configArgs;
}
我想这样使用它
const config = useConfig(ConfigItem.SomeItem, ConfigItem.AnotherItem);
这将返回一个具有相关属性的对象。我可能想传递一个参数,但可能有很多。
上述 const 将返回 this(真/假是上下文中的任何内容,但不在问题范围内)
{
SomeItem: true/false,
AnotherItem: true/false,
}
但如果我只通过其中一个,我希望看到一个属性。
【问题讨论】:
标签: reactjs typescript