我在JSX文件中有一个字符串,我必须以这种方式操作:
假设我有以下字符串,其值为medical_specialty = "Plastic Surgery"
我需要这样做:
medical_specialty.replace(' ', '-').toLowerCase()
将其转换为plastic-surgery
我在JSX文件中是否有完整的JavaScript语法?
答案 0 :(得分:0)
JSX只不过是JavaScript加上XML-ish语法扩展。
我不确定你是如何在不使用JS的情况下编写JSX的,例如,通过ES6类,旧式createClass
方法等。显然它是JavaScript ,任何琐碎的网络搜索都会告诉你JSX究竟是什么:
JSX是一个预处理器步骤,它为JavaScript添加了XML语法。
答案 1 :(得分:0)
您可以在JSX文件中使用此sysntax 例如,使用react:
render() {
let medical_specialty = "Plastic Surgery"
medical_specialty = medical_specialty.replace(' ', '-').toLowerCase()
return (
<div>
{ medical_specialty }
</div>
)
}
正如Dave Newton所说,JSX只不过是一个为JavaScript添加XML语法的再处理器步骤。
答案 2 :(得分:0)
JSX是一种语法,正在被转换为**纯JavaScript **(例如,通过babel-plugin-transform-react-jsx)。
所以你不能操纵实际的JSX(就像你使用 true XML一样,它将使用类似XMLDOM的东西进行解析),因为JSX本身永远不会在运行时被解析为字符串,它&# 39; s实际上是代码。
花括号中的任何内容都被标记为不转换的部分,因此您可以拥有任何您想要的内容,只要它与JSX流的其余部分匹配(所有这些都将结束)作为JS代码,包括其中的任何编译或运行时错误。)
例如,这个:
<SomeComponent someAttr="value">
<SomeSubComponent/>
</SomeComponent>;
将转变为
React.createElement(
SomeComponent,
{ someAttr: "value" },
React.createElement(SomeSubComponent, null)
);
查看Babel online compiler以便过期!
有一个很好的编码日; - )