react的jsx语法

时间:2021-12-28 09:54:38

在webpack.config.js中配置解析的loader

{
test:/\.jsx?$/,
use:{
loader:"babel-loader",
options:{
presets:["@babel/env","@babel/react"]
}
}
},

  

jsx对象就是js对象!只不过jsx需要事先编译,才转为js对象!
在默认情况下,React DOM会将所有嵌入JSX的值进行编码。这样可以有效避免xss攻击。
jsx有个强大的地方就是可以在js中嵌入标签,如在数组中嵌入div标签
let array=[]
array.push(<div>aaaa<div>bbbbbb</div></div>)

  

注意:
(1)一次push父标签只能是一个,不能push(<div></div><div></div>),跟render 里的 return 一样。
(2)在js文件这样写会报错,在jsx中写是不会的。
例子:
function formatName(user) {
//将参数合并成一个srting
return user.firstName + ' ' + user.lastName;
} //创建user对象
const user = {
firstName: 'Harper',
lastName: 'Perez'
}; //创建element对象,并用JSX语法标识为一个html内容。
//h1标签中会包含方法计算之后的内容
const element = (
<h1>
Hello, {formatName(user)}!
</h1>
); ReactDOM.render(
element,
document.getElementById('root')
);

 const element = <h1>Hello, world!</h1>;

ReactDOM.render( element, document.getElementById('root') );

相关文章