Реагировать - Получить свойство компонента внутри его собственной декларации, чтобы использовать его значение в другом свойстве? - PullRequest
0 голосов
/ 01 февраля 2020

Интересно, возможно ли получить свойство компонента внутри его, чтобы использовать то же значение в другом свойстве? Это сложно описать, поэтому я приведу пример.

В этом: <Link className="link" to="/about" onClick={(e) => {this.clickMenuLink(e, "/about")}}>About</Link>

Интересно, можно ли превратить его в что-то вроде этого, чтобы сделать второй параметр функции clickMenuLink динамическим c, автоматически получая значение, установленное в свойстве to = : <Link className="link" to="/about" onClick={(e) => {this.clickMenuLink(e, to)}}>About</Link>

Заранее спасибо.

1 Ответ

1 голос
/ 01 февраля 2020

Это невозможно сделать напрямую, потому что свойство prop определяется только внутри компонента Link, а вы пытаетесь использовать его значение в определении обратного вызова.

Вы можете заключить компонент Link в оболочку. с вашим собственным компонентом MyLink.

<MyLink to="/about" onClick={this.clickMenuLink} />

А затем в рендер MyLink

render() {
  return <Link to={this.props.to} onClick={e => this.props.onClick(e, this.props.to)} />;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...