写在前面
jsx 语法是使用 React 框架的门槛,但其实 jsx 语法并不复杂,简单来说就是在 js 中写 html 语法,。
1. 注意 className
需要注意的是在 jsx 中的 class 是 className,如下:
<div className="red">n</div>
//其会被babel-loader翻译成
React.createElement("div",{className: red},n);
2. {}插入变量
在标签里的所有 js 代码要用 {} 包起来
3. return 后面加 ()
使用 jsx 实现 demo1
<body>
<div id="app"></div>
<script src="https://cdn.bootcss.com/react/16.10.2/umd/react.development.js"></script>
<script src="https://cdn.bootcss.com/react-dom/16.10.2/umd/react-dom.development.js"></script>
<script src="https://cdn.bootcss.com/babel-standalone/7.0.0-beta.3/babel.min.js"></script>
<script type="text/babel">
let n = 0;
const App = () => (
<div>
{n}
<button
onClick={() => {
n += 1;
render();
}}
>
+1
</button>
</div>
);
const render = () => ReactDOM.render(<App />, document.querySelector("#app"));
render();
</script>
</body>