更改反应导航标题上的图标

时间:2017-07-14 02:02:19

标签: reactjs react-native header navigation icons

我有一个starRight是一个星形图标,当用户点击时,它应该成为另一个星形图标(已填充)。 在导航中重新渲染的任何方向? 任何帮助将是欣赏。 我使用redux来管理状态。 感谢

3 个答案:

答案 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中的图标。

谢谢你们,你们真的帮了我。