React Js: использование ссылок вместо идентификатора - PullRequest
0 голосов
/ 14 сентября 2018

Я использовал ID для доступа к элементу span, затем я обнаружил, что мы не можем использовать идентификаторы, и вместо этого мы должны использовать refs, но после запуска этого кода появляется ошибка Uncaught ReferenceError: heroSkills is not defined

export default class Home extends Component {
    constructor(){
        super();
        this.heroSkills = React.createRef();
        let typewriter = new Typewriter(heroSkills, {
            loop: true
        });
    render() {
       return <span ref={this.heroSkills}></span>;
    }
}

Ответы [ 3 ]

0 голосов
/ 14 сентября 2018
export default class Home extends Component {
  constructor() {
    super();
    this.heroSkills = React.createRef();
    let typewriter = new Typewriter(this.heroSkills.current, {
      loop: true
    });
  }
  render() {
    return <span ref={this.heroSkills} />;
  }
}
0 голосов
/ 14 сентября 2018

Когда ссылка передается элементу в рендере, ссылка на узел становится доступной в текущем атрибуте ссылки.

https://reactjs.org/docs/refs-and-the-dom.html

Вместо:

let typewriter = new Typewriter(heroSkills, {
  loop: true
});

до:

let typewriter = new Typewriter(this.heroSkills.current, {
  loop: true
});
0 голосов
/ 14 сентября 2018
export default class Home extends Component {
  constructor() {
    super();
    this.heroSkills = React.createRef();
  }
  componentDidMount() {
    let typewriter = new Typewriter(this.heroSkills.instance, {
      loop: true
    });
  }
  render() {
    return <span ref={this.heroSkills}></span>;
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...