static setItem(key: string, value: string, callback?: ?(error: ?Error) => void)
这是AsyncStorage中setitem的声明。第三个参数是回调。有人可以在这里解释问号的使用。我熟悉如何使用承诺,但无法处理问号。
答案 0 :(得分:6)
AsyncStorage使用flow - Facebook的开源静态类型检查器。您将在文件开头找到@flow,它标记了启用流的源。 Flow会对变量类型(包括自动类型推断)进行大量检查,但它也允许您指定变量和参数的类型。在上面的示例中,'key:string'例如表示键应该是字符串类型(它不是有效的javascript构造 - 您不能在javascript中指定类型)。 React内置了变换器,将其转换为纯javascript(因此所有类型都被剥离)但在此之前流检查是否正确传递类型并查找传递null或undefined之类的内容,以及稍后将其用作对象和许多其他检查。您可以阅读http://flowtype.org/中的规范。
回答你的详细问号: