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>