我有一个starRight是一个星形图标,当用户点击时,它应该成为另一个星形图标(已填充)。 在导航中重新渲染的任何方向? 任何帮助将是欣赏。 我使用redux来管理状态。 感谢
答案 0 :(得分:0)
使用州
state = {
isClick : false,
}
并进行条件渲染
{
isClick ? <IconFilled/> : <Icon>
}
并在图标操作&#34; onPress&#34;
中使用setState处理状态答案 1 :(得分:0)
如果它是一个稍纵即刻的状态更改,并且对您的Nav组件是独占的,那么您应该将用户点击的状态存储在this.state中,如@KimHau所述。
但是您将用户点击的结果存储在Redux商店中,这意味着它可能会在您的应用中保留。
略有修改:
render() {
return (
// ... your other jsx code
{ this.props.hasUserClicked ? < IconFilled /> : < Icon /> }
)
}
虽然修改&lt;更方便。图标/&gt; 组件接受道具,因此它可以管理自己的状态。
< Icon userClicked={ this.props.hasUserClicked }/>
答案 2 :(得分:0)
解决。 我已经为图标创建了一个组件并处理了该组件内的点击,因为我无法访问material-icons-vector-icons中的图标。
谢谢你们,你们真的帮了我。