如何在反应中的上下文数组中定义类型

How to define type in a array of context in react

我有一个上下文:

export const templateContext = createContext({
  isButtonDisable: true,
  setIsButtonDisable: (p: boolean) => {},
  isSubmitReady: <boolean>false,
  setIsSubmitReady: () => {},
  buttonShow: false,
  handleButtonShow: (val: boolean) => {},
  steps:  [] ,
  handleSteps: (val: never) => {},
});

我不明白如何在此上下文中定义数组类型。特别是 steps 数组。该数组还包含对象

您需要先为您的对象添加类型,例如:

type MyContext = {
  isButtonDisable: boolean;
  setIsButtonDisable: (p: boolean) => {};
  // and so on //
  steps: String[];
};

如果数组很复杂,您也应该为它创建一个单独的类型。例如,您的数组包含 Step 个对象的数组:

type Step = {
  id: string;
  value: number;
};

所以现在你可以修改你的 MyContext:

type MyContext = {
  isButtonDisable: boolean;
  setIsButtonDisable: (p: boolean) => {};
  // and so on //
  steps: Step[];
};