繁体   English   中英

字符串类型别名不可分配给带有 typescript 的 Recoil 中的字符串

[英]string type alias is not assignable to string in Recoil with typescript

export type OrderOption =
  | '-createdAt'
  | 'participationFee';

export const orderState = atom<OrderOption>({
  key: 'order',
  default: '-createdAt',
});

interface OrderListProps {
  options: { name: string; content: string }[];
  recoilState: RecoilState<string>;
}

const OrderList = ({ options, recoilState }: OrderListProps) => {
return some components }

当我尝试渲染时

<OrderList options={ORDER_OPTIONS} recoilState={orderState} />

它会导致 ts(2322) 错误说RecoilState<OrderOption>不能分配给RecoilState<string>

如果反之亦然,我理解错误,但OrderOption总体上仍然是字符串,所以我不明白为什么它有问题。 我该如何解决这个问题?

RecoilState<'order' | '-createdAt'> RecoilState<'order' | '-createdAt'>RecoilState<string>


recoilState定义为RecoilState<'order' | '-createdAt'> RecoilState<'order' | '-createdAt'>

(与RecoilState<OrderOption>)

暂无
暂无

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

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