Предотвращение включения & lt; pre & gt; тег, может использовать:
if (preg_match('/(<p(>|\s+[^>]*>).*?<\/p>)/i', $subject, $regs)) {
$result = $regs[1];
} else {
$result = "";
}
Функция, которую вы передаете .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` внутри обратного вызова?