it-swarm.com.ru

Объединение переменных и строк в React

Есть ли способ включить фигурные скобки React и тег href? Скажем, у нас есть следующее значение в состоянии:

{this.state.id}

и следующие атрибуты HTML для тега:

href="#demo1"
id="demo1"

Есть ли способ добавить состояние id в атрибут HTML, чтобы получить что-то вроде этого:

href={"#demo + {this.state.id}"}

Который даст:

#demo1
94
lost9123193

Вы почти правы, просто неуместно несколько цитат. Заключение в обычные кавычки буквально даст вам строку #demo + {this.state.id} - вам нужно указать, какие переменные, а какие строковые литералы. Поскольку все, что внутри {}, является встроенным выражением JSX , вы можете сделать:

href={"#demo" + this.state.id}

Это будет использовать строковый литерал #demo и объединить его со значением this.state.id. Это может быть применено ко всем строкам. Учти это:

var text = "world";

И это:

{"Hello " + text + " Andrew"}

Это даст:

Hello world Andrew 

Вы также можете использовать ES6 string interpolation/ литералы шаблона с `(backticks) и ${expr} (интерполированное выражение), что ближе к тому, что вы пытаетесь сделать:

href={`#demo${this.state.id}`}

Это в основном заменит значение this.state.id, объединяя его в #demo. Это эквивалентно выполнению: "#demo" + this.state.id.

195
Li357

лучший способ объединить реквизиты/переменные:

var sample = "test";    
var result = `this is just a ${sample}`;    
//this is just a test
25
Kevin Laurente