我正在做一个让用户喜欢或不喜欢帖子的应用程序。默认情况下,当一个帖子加载时,有效负载中有一个名为hasUserLike
的部分设置为false。因此创建了一个函数,当单击一个按钮时,它应该将hasUserLike
更新为true,这样做应该隐藏和取消隐藏屏幕上的某些元素并显示另一个元素。
功能
likePostComment = (item) => {
item.hasUserLike = true;
alert(item.hasUserLike)
}
视图
{
item.hasUserLike === false ?
<Icon
onPress={()=>onLikePostComment(item)}
name='md-thumbs-up'
type='ionicon'
color='#778899'
/>
: null
}
{
item.hasUserLike === true ?
<Icon
onPress={()=>onDisLikePostComment(item)}
name='md-thumbs-up'
type='ionicon'
color='#36c'
/>
: null
}
当值更改为true时,即使警报弹出为真,显示的组件也不会显示
当您改变对象item
时,它不会导致重新渲染,因此您的视图不会更新。
使其重新渲染的一种方法是在您喜欢/不喜欢帖子时更改状态中的值。
如果在喜欢/不喜欢帖子时你没有任何状态可以改变你可以做这样的事情来强制重新渲染。
likePostComment = (item) => {
item.hasUserLike = true;
alert(item.hasUserLike)
this.setState({render: Math.random()});
}
虽然你可能最好管理喜欢/不喜欢该州的职位。