用了这么久的Typescript我都没有察觉……直到今天引用二维码组件qrcode.react时报了个元素类型“QrCode”不具有任何构造签名或调用签名的错,原来只是缺少一个ts声明文件……
本来只是这个小问题,让我以为它不能用,又去找了个react-native-qrcode,这个报错就更是奇怪了,说里面引用react-native的View无效,我看了下默认的对应文件里也确实没有View的输出……最后折腾了半天还是放弃,用回了qrcode.react,毕竟后来那个最后更新时间是2016年,就怕兼容出问题。
看来,以后得花点时间研究下Typescript了……
声明文件内容如下:
declare module 'qrcode.react' {
import * as React from 'react';
export interface IProps {
value: string;
size?: number;
bgColor?: string;
fgColor?: string;
level?: "L"|"M"|"Q"|"H";
renderAs?: "svg" | "canvas";
}
export default class QrCode extends React.Component<IProps, any> { }
}