React native 如果值更改,图标将更改
我有一个类似的React native 如果值更改,图标将更改,react-native,React Native,我有一个类似的图标和值的状态0或1。如果状态为1,如果状态为状态为0,则要向上显示图标,如果状态为则在单击时切换 <View style={{marginTop:10}}><Icon name={itemData.wliststatus===0?"thumbs-up":"thumbs-down"} size={16} type="font-awesome" onPress={() => this.navigateToApp(itemData)}/></Vie
图标
和值
的状态
0或1。如果状态
为1
,如果状态
为状态
为0
,则要向上显示图标
,如果状态
为则在单击时切换
<View style={{marginTop:10}}><Icon name={itemData.wliststatus===0?"thumbs-up":"thumbs-down"} size={16} type="font-awesome" onPress={() => this.navigateToApp(itemData)}/></View>
首先创建保存
whliststatus值的状态变量
,并创建状态变量
的切换值的函数
state = { whliststatus = false }
const handlePress = itemData => this.setState({ whlistatus: !this.state.whlistatus }, () => { this.navigateToApp(itemData)} })
<View style={{marginTop:10}}><Icon name={this.state.whliststatus ? "thumbs-up" : "thumbs-down"} size={16} type="font-awesome" onPress={this.handlePress(itemData)}/></View>
state={whliststatus=false}
const handlePress=itemData=>this.setState({whlistatus:!this.state.whlistatus},()=>{this.navigateToApp(itemData)})
用于动态更改项目。
首先,在state
变量中,将like状态值设置为false。
记住:state
变量将全局驻留在类中
状态={
喜欢:错
};
然后,在中,在成功获取数据后,相应地更新您在状态中的状态:
componentDidMount(){
获取(…)
.then(res=>res.json())
。然后(res=>{
...
项目数据:{
“用户ID”:“1”,
“视图”:“258”,
“wliststatus”:0,
}
//此处更新状态中的“喜欢”状态
this.setState({liked:itemdata.wliststatus==0?true:false});
...
})
.catch(错误=>console.log(错误));
}
现在,直接转到render方法,获取或设置状态,数据将自动处理:
render(){
const{like}=this.state;
返回(
this.navigateToApp()}/>
);
}
然后,您可能正在更新此.navigateToApp
函数中的类似内容。在此方法中,您可以将状态更新为:
navigateToApp(){
const{like}=this.state;
...
//这里只需切换您喜欢的状态
this.setState({liked:!liked});
...
}
sir感谢您的建议,但onpress我已经有了一个函数,如何在其中编写tooglethumb函数..plz建议,因为我是react native NavigateApp=async(data)=>{let user=await AsyncStorage.getItem(“user”)user=JSON.parse(user)一些从API获取的数据}onpress={()=>this.navigateToApp(itemData)}成功了。谢谢..我如何在react Native中为ios设备添加toast?如果成功,请接受答案。
state = { whliststatus = false }
const handlePress = itemData => this.setState({ whlistatus: !this.state.whlistatus }, () => { this.navigateToApp(itemData)} })
<View style={{marginTop:10}}><Icon name={this.state.whliststatus ? "thumbs-up" : "thumbs-down"} size={16} type="font-awesome" onPress={this.handlePress(itemData)}/></View>