深入JSX
JSX In Depth
实际上,JSX 仅仅只是 React.createElement(component, props, ...children) 函数的语法糖
指定 React 元素类型
JSX 标签的第一部分指定了 React 元素的类型
大写字母开头的 JSX 标签意味着它们是 React 组件
这些标签会被编译为命名变量的直接引用
React 必须在作用域内
由于 JSX 会编译为 React.createElement 调用形式,所以 React 库也必须包含在 JSX 代码作用域内
在 JSX 中 React 即使没有被直接调用,也需要导入
如果你不使用 JavaScript 打包工具而是直接通过 script 标签加载 React,则必须将 React 挂载到全局变量中
在 JSX 类型中使用点语法
在 JSX 中,你可以使用点语法来引用一个 React 组件。
当你在一个模块中导出许多 React 组件时,这会很方便
```jsx harmony
const MyComponents = { DatePicker: function DatePicker(props) { return Image a {props.color} datepicker here. } }
function BlueDatePicker() { return }
JSX 中的 Props
有多种方式可以在 JSX 中指定 props
JavaScript 表达式作为 Props
<MyComponent foo={1 + 2 + 3 + 4} />
属性展开
// 以下两个组件是等价的 ```jsx harmony
function App1() { return ; }
function App2() { const props = {firstName: 'Ben', lastName: 'Hector'}; return ; }
```
最后更新于
这有帮助吗?