2.5 KiB
2.5 KiB
id, challengeType, forumTopicId, title
id | challengeType | forumTopicId | title |
---|---|---|---|
587d7dbc367417b2b2512bb1 | 6 | 301390 | 创建一个简单的 JSX 元素 |
Description
{“这被视为 JavaScript 代码”}
。请牢记这个写法,你将会在接下来的挑战中使用。
但是,由于浏览器不能解析 JSX,因此必须将 JSX 代码编译为 JavaScript。在这个过程中,转换器 Babel 是一个很受欢迎的工具。后续挑战已经在后台引入了 Babel,你可以直接写 JSX 代码。如果你的代码不符合 JSX 语法,那么挑战中的第一个测试就不会通过。
值得注意的是,这些挑战在底层调用ReactDOM.render(JSX, document.getElementById('root'))
。这个函数调用是将你的 JSX 置于 React 自己的轻量级 DOM 中。然后,React 使用自己的 DOM 快照来优化更新实际 DOM 的特定部分。
Instructions
div
元素赋值给常量JSX
。将div
替换为h1
元素,并在其中添加文本Hello JSX!
。
Tests
tests:
- text: 常量<code>JSX</code>应该返回一个<code>h1</code>元素。
testString: assert(JSX.type === 'h1');
- text: <code>h1</code>标签应该包含文本<code>Hello JSX!</code>。
testString: assert(Enzyme.shallow(JSX).contains('Hello JSX!'));
Challenge Seed
const JSX = <div></div>;
After Test
ReactDOM.render(JSX, document.getElementById('root'))
Solution
const JSX = <h1>Hello JSX!</h1>;