【发布时间】:2020-10-03 23:52:00
【问题描述】:
我已经在我的项目中使用 typescript 一个月了,我一直在努力解决一些疑问。
是否有模式/推荐的方式来组织项目架构中的类型?
假设我们有一个包含以下接口的上下文:
export type ToastMessageType = 'info' | 'success' | 'error';
export interface ToastMessageData {
id: string;
title: string;
description: string;
type: ToastMessageType;
}
export interface ToastsStateContextData {
messages: ToastMessageData[];
}
export interface ToastsDispatchContextData {
addToast: (message: Omit<ToastMessageData, 'id'>) => void;
removeToast: (id: string) => void;
}
还有另一个名为ToastMessage 的组件接收message 属性,类型为ToastMessageData:
interface ToastMessageProps {
message: ToastMessageData;
style: React.CSSProperties;
}
const ToastMessage: React.FC<ToastMessageProps> = ({ message, style }) => {
我觉得从组件内部的上下文中导入接口很奇怪,所以发生了一些错误。
你们有什么推荐的吗?
【问题讨论】:
标签: reactjs typescript frontend