Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 状态更新,但不适用于所有地方_Reactjs_React Native - Fatal编程技术网

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

Reactjs 状态更新,但不适用于所有地方,reactjs,react-native,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 } sour

我试图让加载指示器在按下按钮时替换图像,但它不能正常工作。以下是我的观点:

<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控件复制三元运算符,我会在图像显示的同时显示它,但为什么不反向显示呢


有没有更好的方法来实现这一点呢?

您也可以这样做

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

{this.state.showProgress?
: 
}

这样的话,你只需要一个三元数,它更容易看。如果这仍然不起作用,则可能是样式/元素有问题。你可以把这些贴出来,让我们看看

你也可以做类似的事情

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

{this.state.showProgress?
: 
}
这样的话,你只需要一个三元数,它更容易看。如果这仍然不起作用,则可能是样式/元素有问题。你可以把这些贴出来,让我们看看