我发现很难使用Flow。我明白
Array.find
可以返回或未定义。
github: Array.find on Array<{...}> raises
我这样做了,并补充说
void
到类型。但是现在我得到了一个错误:
无法获取
stageMsg.msg
msg
在null或未定义中丢失(请参见第92行)。
检查代码以查看错误的具体位置。
我明白为什么它会给我错误,没有
未定义。我不知道怎么解决这个问题。
代码如下:
type StageMsg = {
stage: number,
msg?: string
};
let stageMsg: void | StageMsg = this.stages.find(
(obj: StageMsg) => obj.stage === this.state.stage
);
msg = (
<Msg text={this.state.msg !== "" ? this.state.msg : stageMsg.msg} /> //<---- [Error here].
);