幸亏国庆恶补React,现在感觉良好菜鸟教程用的是 jsx ,需要经过 babel-react 过的。知道它的原理就可以了,因为return <div></div>
最终会被babel-react 转换成 类似
return createElement('div')
如果return 后面没有括号,第一行的内容一定要和return 写在一起,如果JSX标签仅有一行,也可以省略括号。但实际上,多行也可以不加括号,但return后边不可以有换行,然而JSX可以有。
React.Fragment是不会渲染出任何html标签的。可以支持多个子节点。
<React.Fragment>可以所缩写为一对空标签,这时候如果去掉括号,感觉就和括号的作用差不多。
实际上,在react 16以后,得益于fiber,return本身可以返回一个数组,也就是所谓返回多个元素
由于箭头函数可以不写return默认返回箭头后边的表达式,且可以折行。即:
代码块
JavaScript
// 类似于这样
export const getDataFromApi = () =>
service({
url: `/api/resource`,
method: 'get'
});
所以我们可以还可以这样写JSX
代码块
JavaScript
// 不加括号,同时也保证了代码整洁
const App = () =>
<div className="foo">
<div>bar</div>
</div>
export default App;