状态更新,但不适用于所有地方

时间:2016-02-08 22:56:59

标签: reactjs react-native

当按下按钮时,我正在尝试使用加载指示器替换图像,但它无法正常工作。这是我的观点:

<View style={styles.header}>
   <ProgressBarAndroid style={this.state.showProgress ? styles.image : styles.hidden } />
   <Image style={this.state.showProgress ? styles.hidden : styles.image } source={{uri: '....'}} />
</View>

this.state.showProgress在构造函数中设置为false,一开始不会显示任何内容,但是当我按下运行this.setState({showProgress: true})的按钮时,加载指示器会显示出来。

有什么我想念的吗?如果我从ProgressBarAndroid控件复制三元运算符,我会在同一时间显示图像,但为什么不反过来呢?

有没有更好的方法来实现这一目标?

1 个答案:

答案 0 :(得分:2)

您也可以执行类似

的操作
<View style={styles.header}>
   { this.state.showProgress ? 
      <ProgressBarAndroid style={styles.image} /> : 
      <Image style={styles.image} source={{uri: '....'}} />
   }
</View>

这样你只有一个三元组,它看起来更容易一些。如果仍然无效,那么样式/元素可能会出现问题。你可以张贴那些我们可以看看。