-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrenderJSX.js
More file actions
39 lines (37 loc) · 833 Bytes
/
renderJSX.js
File metadata and controls
39 lines (37 loc) · 833 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
const root = ReactDOM.createRoot(document.getElementById('root'));
const courses = [
{ id: 1, name: 'HTML/CSS' },
{ id: 2, name: 'ReactJS' },
{ id: 3, name: 'TypeScript' },
{ id: 4, name: 'Ruby on Rails' },
];
//Good: JSX
const ul = (
<ul>
{courses.map((course) => (
<li key={course.id}>{course.name}</li>
))}
</ul>
);
//Bad
const ul1 = (
<ul>
{courses.map((course) =>
React.createElement(
'li',
{
key: course.id,
},
course.name,
),
)}
</ul>
);
//Component Fragment
const element = React.createElement(
React.Fragment,
null,
React.createElement('h1', null, 'Hello'),
React.createElement('h2', null, 'Hi'),
);
root.render(element);