我正在尝试获取函数的返回值。
我正在这样做:
let barHeight;
componentDidMount() {
barHeight = StatusBarManager.getHeight(statusBarHeight => statusBarHeight);
console.log({ mounted: barHeight });
}
componentDidUpdate() {
barHeight = StatusBarManager.getHeight(statusBarHeight => statusBarHeight);
console.log({ update: barHeight });
}
奇怪的是,如果我这样做:
StatusBarManager.getHeight(statusBarHeight => console.log(statusBarHeight));
我看到了它如何记录{height: 20}
,但是两个控制台日志都包含在这两种方法中:console.log({ update: barHeight });
我所看到的只是undefined
。
那么我该如何获取StatusBarManager.getHeight
返回的值以便在另一个函数中使用它?
答案 0 :(得分:0)
console.log
始终返回undefined
。您可以使用以下代码
StatusBarManager.getHeight(statusBarHeight => console.log(statusBarHeight) || statusBarHeight);
答案 1 :(得分:0)
在{{1}中未定义barHeight
的原因是,在console.log
的值被{{1}的响应更新之前,正在执行console.log
}。正如您已经注意到的,要使barHeight
工作,必须将其移至StatusBarManager.getHeight()
的{{1}}中。
console.log