繁体   English   中英

React Native ProgressBarAndroid setState不起作用

[英]React Native ProgressBarAndroid setState not working

我无法通过以下代码解决问题。 我正在尝试更改ProgressBarAndroid上的动画效果,并使其每秒切换一次。 如果我在构造函数中将load设置为true,则代码按预期工作,但如果将false设置为false,则代码不起作用(这是我想要的,我不希望它立即开始进行动画处理)。 设置为false时,进度栏始终保持不可见。 有任何想法吗?

import React, { Component } from 'react';
import { ProgressBarAndroid } from 'react-native';

export default class App extends Component {
  constructor(props) {
    super(props);
    this.state = {loading: false}; // works if it is set to true here instead

    // Toggle the state every second
    setInterval(() => {
      this.setState({loading: !this.state.loading});
    }, 1000);
  }
  render() {
    return (
        <ProgressBarAndroid animating={this.state.loading}></ProgressBarAndroid>
    );
  }
}

这实际上是几周前我对ProgressBarAndroid遇到的一个问题。 一旦启动为false ,我就无法将其设置为true。

我当时的快速而肮脏的解决方案是将状态更改移到animating道具之外。

在您的情况下,请更改此:

<ProgressBarAndroid animating={this.state.loading}></ProgressBarAndroid>

对此:

<View>
  { this.state.loading ? <ProgressBarAndroid/> : null }
</View>

并确保还包含View from react-native

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM