antd-mobile的Toast.hide无法隐藏问题

当你使用Toast.loading('Loading...', 0),然后接着使用Toast.hide()来隐藏的时候,你会发现是无法隐藏的!

componentDidMount() {
    Toast.loading('Loading...', 0);
    Toast.hide();
}

antd-mobile的Toast.hide无法隐藏问题_第1张图片

个人觉得是Toast.loading对象还没有新建完成就隐藏的缘故,这时候你只需要延时一会儿隐藏就OK啦!

componentDidMount() {
    Toast.loading('Loading...', 0);
    setTimeout(Toast.hide, 20);
}

我们可以把Toast.hide()方法体打印出来看看缘由:

console.log(Toast.hide);

antd-mobile的Toast.hide无法隐藏问题_第2张图片

可以看到有一个messageInstance,大概是Toast都会产生一个messageInstance,Toast的时候都会先产生一个过渡动画,可能这个时候还没有产生messageInstance,所以这时候调用Toast.hide()隐藏是失效的!!!

你可能感兴趣的:(React)