# React中JSX的理解 `JSX`是快速生成`react`元素的一种语法,实际是`React.createElement(component, props, ...children)`的语法糖,同时`JSX`也是`Js`的语法扩展,包含所有`Js`功能。 ## 概述 ### JSX发展过程 在之前,`Facebook`是`PHP`大户,所以`React`最开始的灵感就来自于`PHP`。 在`2004`年这个时候,大家都还在用`PHP`的字符串拼接来开发网站。 ```php $str = ""; ``` 这种方式代码写出来不好看不说,还容易造成`XSS`等安全问题。应对方法是对用户的任何输入都进行转义`Escape`,但是如果对字符串进行多次转义,那么反转义的次数也必须是相同的,否则会无法得到原内容,如果又不小心把`HTML`标签给转义了,那么`HTML`标签会直接显示给用户,从而导致很差的用户体验。 到了`2010`年,为了更加高效的编码,同时也避免转义`HTML`标签的错误,`Facebook`开发了`XHP`。`XHP`是对`PHP`的语法拓展,它允许开发者直接在`PHP`中使用`HTML`标签,而不再使用字符串。 ```php $content =