我正在en_time
上课。我正在将React Native
与Atom
和Nuclide
结合使用来制作项目。我正在跟随讲师,但是在每节课之后,我都试图消除Flow扔给我的所有错误。但是我真的很固执。我收到此错误消息:
无法获取prevState.selectedPlace.key,因为属性键缺少null或未定义。
下面是我的代码,我标记出我在哪一行中得到了Flow
函数中发生的错误。
placeDeletedHandler
我确定其他人可能也有类似的问题。我花了几个小时试图解决它。我找到的最接近的东西是这个链接:https://github.com/facebook/flow/issues/6954
如果有人可以帮助解决此问题并解释其原因,我想知道并确保其他这样做的人也希望知道。谢谢。
答案 0 :(得分:1)
您正在使用maybe type状态:
type State = {
selectedPlace: ?{ key: string, ...}
...
}
-问号表示selectedPlace
可能是null
或undefined
。因此,flow
希望您进行安全检查,确定已定义selectedPlace
,最简单的方法可能是:
return prevState.selectedPlace && place.key !== prevState.selectedPlace.key
或者,您可以取消标记selectedPlace
中的类型。