我正在做一个使用户喜欢或不喜欢帖子的应用程序。默认情况下,当帖子加载时,有效负载中有一个称为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时,即使警报弹出为true,表示要显示的组件也不会显示
答案 0 :(得分:0)
当您仅更改对象item
时,它不会导致重新渲染,因此视图不会更新。
使其重新呈现的一种方法是在您喜欢/不喜欢帖子时更改状态中的值。
如果在喜欢/不喜欢该帖子时您没有任何状态可以更改,则可以执行以下操作来强制重新渲染。
likePostComment = (item) => {
item.hasUserLike = true;
alert(item.hasUserLike)
this.setState({render: Math.random()});
}
尽管您可能最好管理状态中喜欢/不喜欢的职位。