【问题标题】:React Native - "ProgressBarAndroid is deprecated. Use ActivityIndicator instead"React Native - “ProgressBarAndroid 已被弃用。改用 ActivityIndi​​cator”
【发布时间】:2017-03-09 17:36:54
【问题描述】:

我遇到了错误:“ProgressBarAndroid 已弃用。请改用 ActivityIndi​​cator”,但当我转到 docs 时,它看起来并没有被弃用。

我正在使用

react-native-cli: 2.0.1 react-native: 0.40.0

这是我目前的相关代码:

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

export default function ProgressBar(props) {

  if(Platform.OS === 'ios'){
    return (
        <ProgressViewIOS
          progress={props.progress}
          style={{height: 3}}
          progressViewStyle={'bar'}
          progressTintColor={props.progressTintColor}
        />
      )
  }else if(Platform.OS === 'android'){
    return <ProgressBarAndroid styleAttr="Horizontal" progress={props.progress} />
  }else{
    console.log('NO PROGRESS')
    return null

  }

}

即使我指定了styleAttr="Horizontal"(我认为应该将不确定设置为假),我在 android 中的进度条是不确定的(它只是一直在移动)。这与我在 iOS 上看到的功能不同。 iOS 按预期工作。

另一个错误说“您正在为ProgressBarAndroid 上的indeterminate 属性手动调用 React.PropType 验证函数,但是正如您在我的代码中看到的那样,情况并非如此。我也不相信还有第三个由于项目很小,所以我没有看到这个错误,直到我按照上面所示的方式实现:

任何帮助表示赞赏。

【问题讨论】:

    标签: android mobile react-native


    【解决方案1】:

    如果它警告您它已被弃用,为什么不直接使用它建议的 API?您认为有什么用例需要在被替换的组件上使用ProgressViewIOS? (特别是因为ActivityIndciator 适用于 iOS 和 Android)

    为了回答您的问题,它可能不会在文档中被弃用,但它警告您它已被弃用以支持新的 API。如果您愿意,您可以继续使用它,但您不会获得任何更新,并且它可能会在未来的版本中被删除。

    【讨论】:

    • ActivityIndciator 与 ProgressBarAndroid 不同,后者封装了 Android-only ProgressBar。我需要一个进度条而不是加载微调器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-10
    • 2019-04-05
    • 2021-09-04
    • 2018-04-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多