Реагируйте, что это не определено с уже связанным методом [duplicate]

Предотвращение включения & lt; pre & gt; тег, может использовать:

if (preg_match('/(<p(>|\s+[^>]*>).*?<\/p>)/i', $subject, $regs)) {
    $result = $regs[1];
} else {
    $result = "";
}
0
задан Felix Kling 18 March 2019 в 18:14
поделиться

1 ответ

Функция, которую вы передаете .map, также имеет свою собственную привязку this. Самое простое решение - передать this в качестве второго аргумента .map :

const navbarItems = this.state.navbarData.map(function(item) {
  ...
}, this);

this внутри функции будет установлено то, что вы передадите в качестве второго аргумента, что в данном случае это экземпляр компонента.

В качестве альтернативы вы можете использовать функцию стрелки вместо выражения функции, поскольку this разрешается лексически (то есть, как и любой другой переменный) внутри функций стрелки:

const navbarItems = this.state.navbarData.map(
  item => <NavbarItem navigationWhenClicked={this.navClick} key={item.id} text={item.text} id={item.id} />
});

См. Также: Как получить доступ к правильному `this` внутри обратного вызова?

0
ответ дан Felix Kling 18 March 2019 в 18:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: