繁体   English   中英

React + Typescript 上下文 - 如何定义接口并使用它?

[英]React + Typescript context - how to define interface and use it?

我正在尝试使用反应上下文,但我不确定如何正确使用 typescript。

interface ITodoContext {
  todos: Todo[] | null;
  currentlyEditingTodoID: number|null;

  editTodo(todo: Todo): () => void
}

export const TodoContext = React.createContext<ITodoContext>({
  todos: null,
  // how do put the editTodo() ? 
});

editTodo方法将 currentEditingTodoID 设置为currentlyEditingTodoID ,如果不是 null,它可能会显示一个模态或其他内容。

但是,我不确定如何正确定义该方法。

定义方法的正确方法是:

  editTodo: (todo: Todo) => void

以下是您应该如何定义您的类型,然后是您的实现:

interface ITodoContext {
  todos: Todo[] | null;
  currentlyEditingTodoID: number | null;
  editTodo: (todo: Todo) => void;
}

export const TodoContext = React.createContext<ITodoContext>({
  todos: null,
  currentlyEditingTodoID: null,
  editTodo(todo) {
    // your implementation of the function
  },
});

您还可以对 function 使用箭头符号:

export const TodoContext = React.createContext<ITodoContext>({
  todos: null,
  currentlyEditingTodoID: null,
  editTodo: (todo) => {
    // your implementation of the function
  },
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM