在ReactNative中,我创建了一个加载器,并且该加载器通过函数显示和隐藏。但是,当我尝试在setTimeout中调用此函数时,此函数不起作用,它会向我返回如下错误-> this.showLoader不是函数。未定义。 但是当我尝试没有setTimeout时,它工作正常。
export default class ThirdScreen extends Component<Props> {
constructor(props) {
super(props)
this.state =
{
isLoading: false
}
this.showLoader = this.showLoader.bind(this);
}
componentDidMount() {
setTimeout(function(){
this.showLoader()
}, 1000);
//this.showLoader()
}
showLoader () {
this.setState({ isLoading: true });
}
hideLoader = () => {
this.setState({ isLoading: false });
}
}
答案 0 :(得分:0)
类似于 showLoader()函数在 componentDidMount()中声明,因此无法通过 this 指针进行访问。
答案 1 :(得分:0)
希望这能解决您的问题
setTimeout(()=> this.showLoader(), 1000)