1

タイトルを付けるために、リスト付きの 4 つのタブがあります。各タブのタイトルにアクセスしたいのですが、HTML コレクション全体にしかアクセスできません。反応を使用します。

import React from 'react';
import {Component} from 'react';

class tabs extends Component {

    render() {
        return (
            <div className={"tabs"}>
                <ul>
                    <li><a>Class 1</a></li>
                    <li><a>Class 2</a></li>
                    <li><a>Class 3</a></li>
                    <li><a>Class 4</a></li>
                </ul>

                {console.log(document.getElementsByTagName("li"))};
                //full collection with length of 4

                 {console.log(document.getElementsByTagName("li").length)};
                 //0


       {console.log(document.getElementsByTagName("li").item(0).innerHTML)};
                  //"Cannot read property 'innerHTML' of null"

            </div>
        )
    }
}

export default tabs;
4

2 に答える 2

1

正確に何をしようとしていますか?liある時点で の数だけが必要な場合は、ref

class Component extends React.Component {
  componentDidMount() {
    console.log(this.el.children.length) // 4
  }

  render() {
    return (
      <ul ref={ el => this.el = el }>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
      </ul>
    )
  }
}
于 2018-03-19T17:19:59.107 に答える