Home



title: Working with Data in MDX description: Learn how to fetch and display data in your MDX documents using JavaScript.

Data Handling within MDX Documents

This guide illustrates methods for retrieving and presenting data directly within your MDX content, leveraging the power of JavaScript.

Fetching Data

You can use JavaScript's fetch API to retrieve data from external sources. Here's an example:

async function getData() {
 const res = await fetch('https://api.example.com/data');
 const data = await res.json();
 return data;
}

This function asynchronously fetches JSON data from the specified URL.

Displaying Data

Once you have fetched the data, you can display it in your MDX content using JSX. For example:

import { useState, useEffect } from 'react';


function DataDisplay() {
 const [data, setData] = useState(null);


 useEffect(() => {
 async function fetchData() {
 const result = await getData();
 setData(result);
 }
 fetchData();
 }, []);


 if (!data) {
 return <p>Loading...</p>;
 }


 return (
 <ul>
 {data.map((item) => (
 <li key={item.id}>{item.name}</li>
 ))}
 </ul>
 );
}


export default DataDisplay;

This component fetches data and renders a list of items.

Example Usage

You can import and use the DataDisplay component in your MDX file:

import DataDisplay from './DataDisplay';


<DataDisplay />

This will render the fetched data within your MDX document.

Images


```mdx
---
title: MDX Data Integration Techniques
description: Explore the process of obtaining and rendering data in MDX files using JavaScript capabilities.
---


# Integrating and Utilizing Data Inside MDX


This document demonstrates techniques for acquiring and showing data directly inside your MDX files, all while utilizing the capabilities of JavaScript.


## Data Acquisition


Employ JavaScript's `fetch` API to pull data from external locations. An illustration follows:


```javascript
async function getData() {
 const response = await fetch('https://api.example.com/data');
 const jsonData = await response.json();
 return jsonData;
}

This asynchronous function retrieves JSON-formatted data from a designated web address.

Data Presentation

After retrieving data, present it within your MDX document using JSX syntax. Consider this example:

import { useState, useEffect } from 'react';


function DataDisplay() {
 const [dataHolder, setDataHolder] = useState(null);


 useEffect(() => {
 async function fetchData() {
 const outcome = await getData();
 setDataHolder(outcome);
 }
 fetchData();
 }, []);


 if (!dataHolder) {
 return <p>Content Loading...</p>;
 }


 return (
 <ul>
 {dataHolder.map((element) => (
 <li key={element.id}>{element.name}</li>
 ))}
 </ul>
 );
}


export default DataDisplay;

This React component gets data and then displays a list of the received items.

Practical Application

Incorporate and utilize the DataDisplay component inside your MDX file like this:

import DataDisplay from './DataDisplay';


<DataDisplay>

This inclusion will render the received data directly into your MDX content.

Images

<AppearanceSection></AppearanceSection>