reactjs - 如何在 react 中定义上下文数组中的类型

标签 reactjs typescript react-context

我有一个上下文:

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[];
};

关于reactjs - 如何在 react 中定义上下文数组中的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66579348/

相关文章:

javascript - useState 不更新嵌套组件

javascript - Angular 6依赖注入(inject)

javascript - React HOC 适用于某些组件,但不适用于其他组件

javascript - 引用错误 : Cannot access 'UserContext' before initialization - React

reactjs - 公共(public) index.html 中的 CRA 变量替换

javascript - React Router v4 将通过状态从搜索重定向到结果

typescript - 我怎样才能在 WebStorm 中保存 TSLint?

javascript - 类型数组 :- Cannot invoke an expression whose type lacks a call signature 的 typescript 错误

javascript - React 上下文每次使用它时都会返回初始状态 - 尽管 setState

reactjs - React、Webpack、Stylus - 将全局变量导入到所有组件