2016-11-04 9 views
2

Хотя опытный программист я совершенно новичок в js и реагирую.Интерполяция переменных в строку

Я пытаюсь использовать компонент react-native-svgPath в пределах моего собственного компонента. В этом примере все ясно, но для координат используется строковый литерал. Например:

<Path d="M 10 20 L 30 40" stroke="red" /> 

Однако я хочу использовать координаты из реквизита моего компонента x1, y2, x2, y2 вместо литералов, но я не могу понять, как посадить их в кавычки строки вместе с различными персонажами примеры M и L.

+0

Вам нужен общий компонент пути с реквизитами или этот точный путь с разными номерами? –

+0

См. Http://stackoverflow.com/questions/21668025/react-jsx-access-props-in-quotes –

ответ

4

При использовании функции ES2015, template strings бы возможный подход, например .:

<Path 
    d={`M ${this.props.x1} ${this.props.y1} L ${this.props.x2} ${this.props.y2}`} 
    stroke="red" 
/> 

Примечание кавычки вместо кавычек.

+0

Это работает, спасибо. Есть ли способ просмотреть итоговый полный тег Path, который создает код выше? Что-то аналогичное View Source для веб-страницы в браузере. – quanglewangle

+0

Вы можете использовать строки шаблонов, как и другие выражения, они оценивают строку. I.e .: 'const path = \' ... \ '; console.log (путь); return ' – Timo

2

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

<Path d={['M', x1, y1, 'L', x2, y2].join(' ')} stroke="red" />