<script type="text/babel"> //必须把类型设置 babel解析 let root = ReactDOM.createRoot(document.querySelector("#root")); root.render(<h2>hello</h2>); </script>
jsx语法糖
javascript扩展的意思(js+xml)
原理就是React.createElement
1 2
let content=<div>hello world</div>; let content = React.createElement("div",null,"hello world123");
jsx不是必须的但是用jsx提高开发的效率
class—>className
style=
{差值表达式}
{/注释的内容/}
布尔值不能直接显示到页面
数组可以直接渲染出来
对象不能直接渲染
1 2 3 4 5 6 7
let root=ReactDOM.createRoot(document.getElementById("box")); let a=5; //数字字符串可以直接渲染出来 let b=!true; //渲染到页面上不显示 let arr=[1,2,3,4,5]; //数据可以直接渲染 let obj={a:1,b:2}; //对象不能直接渲染 let rootDiv=<div>hello world {a} b:{b?"true":"false"} {arr} {obj.a} {obj.b}</div>; root.render(rootDiv);
合成事件
React 合成事件(SyntheticEvent)是 React 模拟原生 DOM 事件所有能力的一个事件对象,即浏览器原生事件的跨浏览器包装器