div上访问的状态/类未使用React Js锚定

时间:2019-02-28 23:02:07

标签: reactjs state

我正在尝试通过使用状态在Div上添加访问状态/类,但是遇到了一些问题。我无法使用锚,因此需要在一个类上进行设置。

这不是一个选择:

a:visited {
  ...
} 

Codesandbox.io: https://codesandbox.io/s/l5x1l78mqz

1 个答案:

答案 0 :(得分:1)

您需要将此信息存储在某些状态变量中。您可以将此权限存储在ViewGroup上,但是要做到这一点,您需要(1)将其设为一个类,并且(2)在调用<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> ... </LinearLayout> 之前本地处理其click函数:

BreadCrumb

或者,您可以将访问状态信息存储在onClickTabItem中,以便您可以像尝试做的那样将访问状态作为道具传递。为此,您需要一个数据结构,该数据结构允许您存储所有访问的状态,而不仅仅是当前选择的状态。

class BreadCrumb extends Component {
  constructor(props) {
    this.state = {visited: false}
  }

  render () {
    return (
      <li className={this.state.visited ? "visited" : ""} ... >
    );
  }
}

然后在SummaryBar中,为给定元素(您需要找出标题)更新state = { activeTab: 0, select: "" , visited: {}};

handleClickTabItem

要弄清楚标题,最简单的方法可能是将其作为arg传递给visited

中的单击处理程序。
visited = this.state.visited;
visited[title] = true;
this.setState(visited: visited);

然后您可以在尝试使用BreadCrumb函数时使用它:

onClick={() => onClickTabItem(title)}