簡體   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