Code blocks
This section will show you how to write pretty code in documentation.
Code title
You can add a title to the code block by adding a title key after the language (leave a space between them).
```jsx title="/src/components/HelloCodeTitle.js"
function HelloCodeTitle(props) {
return <h1>Hello, {props.name}</h1>;
}
```
/src/components/HelloCodeTitle.js
function HelloCodeTitle(props) {
return <h1>Hello, {props.name}</h1>;
}
Line highlighting
You can use comments with highlight-next-line
, highlight-start
, and highlight-end
to select which lines are highlighted.
```js showLineNumbers
function HighlightSomeText(highlight) {
if (highlight) {
// highlight-next-line
return 'This text is highlighted!';
}
return 'Nothing highlighted';
}
function HighlightMoreText(highlight) {
// highlight-start
if (highlight) {
return 'This range is highlighted!';
}
// highlight-end
return 'Nothing highlighted';
}
```
Above code will be shown as following.
function HighlightSomeText(highlight) {
if (highlight) {
return 'This text is highlighted!';
}
return 'Nothing highlighted';
}
function HighlightMoreText(highlight) {
if (highlight) {
return 'This range is highlighted!';
}
return 'Nothing highlighted';
}
Magic comments
In JavaScript, trying to access properties on null
will error.
```js
const name = null;
// This will error
console.log(name.toUpperCase());
// Uncaught TypeError: Cannot read properties of null (reading 'toUpperCase')
```
const name = null;
console.log(name.toUpperCase());
// Uncaught TypeError: Cannot read properties of null (reading 'toUpperCase')
A live code
Result
Loading...
Live Editor
function Clock(props) { const [date, setDate] = useState(new Date()); useEffect(() => { // highlight-next-line const timerID = setInterval(() => tick(), 1000); return function cleanup() { clearInterval(timerID); }; }); // highlight-start function tick() { setDate(new Date()); } // highlight-end return ( <div> <h2>It is {date.toLocaleTimeString()}.</h2> </div> ); }
Result
Loading...
Live Editor
function MyPlayground(props) { return ( <div> <ButtonExample onClick={() => alert('hey!')}>Click me</ButtonExample> </div> ); }